[libtirpc] fixing memory leak on gss context initiation failure

This commit is contained in:
unknown 2011-11-08 15:35:20 -05:00
parent 6b05d84e93
commit 7acf94dd1b

View file

@ -465,7 +465,7 @@ authsspi_refresh(AUTH *auth, void *tmp)
if (call_stat != RPC_SUCCESS || if (call_stat != RPC_SUCCESS ||
(gr.gr_major != SEC_E_OK && (gr.gr_major != SEC_E_OK &&
gr.gr_major != SEC_I_CONTINUE_NEEDED)) gr.gr_major != SEC_I_CONTINUE_NEEDED))
return FALSE; break;
if (gr.gr_ctx.length != 0) { if (gr.gr_ctx.length != 0) {
#if 0 #if 0
@ -567,6 +567,7 @@ authsspi_destroy_context(AUTH *auth)
log_debug("in authgss_destroy_context()"); log_debug("in authgss_destroy_context()");
gd = AUTH_PRIVATE(auth); gd = AUTH_PRIVATE(auth);
if (gd == NULL) return;
if (SecIsValidHandle(&gd->ctx)) { if (SecIsValidHandle(&gd->ctx)) {
if (gd->established) { if (gd->established) {
@ -601,6 +602,7 @@ authsspi_destroy(AUTH *auth)
log_debug("in authgss_destroy()"); log_debug("in authgss_destroy()");
gd = AUTH_PRIVATE(auth); gd = AUTH_PRIVATE(auth);
if (gd == NULL) return;
authsspi_destroy_context(auth); authsspi_destroy_context(auth);