summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGünther Deschner <gdeschner@redhat.com>2013-10-14 17:30:22 +0200
committerGünther Deschner <gdeschner@redhat.com>2013-10-15 13:48:20 +0200
commit39ea56ce5d2cdfe08ed137c5262a709bbb08f151 (patch)
treed950ed2a41129dfe959d46f3c7ed1dc05fd33bc9
parent66f3183c54e3c27c0224226fa60bf8b933190b4a (diff)
downloadgss-proxy-39ea56ce5d2cdfe08ed137c5262a709bbb08f151.tar.gz
gss-proxy-39ea56ce5d2cdfe08ed137c5262a709bbb08f151.tar.xz
gss-proxy-39ea56ce5d2cdfe08ed137c5262a709bbb08f151.zip
Fix resource leak in gpm_accept_sec_context().
Resolves Coverity CID #12027. Signed-off-by: Günther Deschner <gdeschner@redhat.com> Reviewed-by: Simo Sorce <simo@redhat.com>
-rw-r--r--proxy/src/client/gpm_accept_sec_context.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/proxy/src/client/gpm_accept_sec_context.c b/proxy/src/client/gpm_accept_sec_context.c
index d94c001..5f8fb06 100644
--- a/proxy/src/client/gpm_accept_sec_context.c
+++ b/proxy/src/client/gpm_accept_sec_context.c
@@ -80,6 +80,14 @@ OM_uint32 gpm_accept_sec_context(OM_uint32 *minor_status,
}
/* return values */
+ if (res->status.major_status) {
+ gpm_save_status(&res->status);
+ ret_maj = res->status.major_status;
+ *minor_status = res->status.minor_status;
+ ret = 0;
+ goto done;
+ }
+
if (mech_type) {
if (res->status.mech.octet_string_len) {
ret = gp_conv_gssx_to_oid_alloc(&res->status.mech, &mech);
@@ -89,14 +97,6 @@ OM_uint32 gpm_accept_sec_context(OM_uint32 *minor_status,
}
}
- if (res->status.major_status) {
- gpm_save_status(&res->status);
- ret_maj = res->status.major_status;
- *minor_status = res->status.minor_status;
- ret = 0;
- goto done;
- }
-
if (res->context_handle) {
ctx = res->context_handle;
/* we are stealing the delegated creds on success, so we do not want