diff options
author | Doug Rabson <dfr@FreeBSD.org> | 2008-05-07 13:53:12 +0000 |
---|---|---|
committer | Doug Rabson <dfr@FreeBSD.org> | 2008-05-07 13:53:12 +0000 |
commit | 33f12199250a09b573f7a518b523fdac3f120b8f (patch) | |
tree | 1338a6c0e5d3e7c3b0da720ac15cd79fc72c6b5a /lib/libgssapi/gss_delete_sec_context.c | |
parent | 4fe54d7c6acb302aacc6ac18798804b26c882c13 (diff) |
Notes
Diffstat (limited to 'lib/libgssapi/gss_delete_sec_context.c')
-rw-r--r-- | lib/libgssapi/gss_delete_sec_context.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/libgssapi/gss_delete_sec_context.c b/lib/libgssapi/gss_delete_sec_context.c index b1f39c24c0fda..b4b087f93142a 100644 --- a/lib/libgssapi/gss_delete_sec_context.c +++ b/lib/libgssapi/gss_delete_sec_context.c @@ -32,6 +32,7 @@ #include "mech_switch.h" #include "context.h" +#include "utils.h" OM_uint32 gss_delete_sec_context(OM_uint32 *minor_status, @@ -41,6 +42,9 @@ gss_delete_sec_context(OM_uint32 *minor_status, OM_uint32 major_status; struct _gss_context *ctx = (struct _gss_context *) *context_handle; + if (output_token) + _gss_buffer_zero(output_token); + *minor_status = 0; if (ctx) { /* @@ -50,12 +54,9 @@ gss_delete_sec_context(OM_uint32 *minor_status, if (ctx->gc_ctx) { major_status = ctx->gc_mech->gm_delete_sec_context( minor_status, &ctx->gc_ctx, output_token); - } else if (output_token != GSS_C_NO_BUFFER) { - output_token->length = 0; - output_token->value = 0; } free(ctx); - *context_handle = 0; + *context_handle = GSS_C_NO_CONTEXT; } return (GSS_S_COMPLETE); |