From 50d94821d9a4ec67c9ae126f2332f11c487b5942 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Love=20H=C3=B6rnquist=20=C3=85strand?= Date: Wed, 17 Jan 2007 16:23:47 +0000 Subject: [PATCH] Reset out variables. git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@19965 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/gssapi/mech/gss_utils.c | 2 ++ lib/gssapi/mech/gss_verify_mic.c | 2 ++ lib/gssapi/mech/gss_wrap.c | 8 ++++++++ lib/gssapi/mech/gss_wrap_size_limit.c | 6 ++++++ 4 files changed, 18 insertions(+) diff --git a/lib/gssapi/mech/gss_utils.c b/lib/gssapi/mech/gss_utils.c index 05a641c39..6e05acff0 100644 --- a/lib/gssapi/mech/gss_utils.c +++ b/lib/gssapi/mech/gss_utils.c @@ -38,6 +38,7 @@ _gss_copy_oid(OM_uint32 *minor_status, *minor_status = 0; to_oid->elements = malloc(len); if (!to_oid->elements) { + to_oid->length = 0; *minor_status = ENOMEM; return GSS_S_FAILURE; } @@ -68,6 +69,7 @@ _gss_copy_buffer(OM_uint32 *minor_status, to_buf->value = malloc(len); if (!to_buf->value) { *minor_status = ENOMEM; + to_buf->length = 0; return GSS_S_FAILURE; } to_buf->length = len; diff --git a/lib/gssapi/mech/gss_verify_mic.c b/lib/gssapi/mech/gss_verify_mic.c index 70ddb78f3..456aa1cde 100644 --- a/lib/gssapi/mech/gss_verify_mic.c +++ b/lib/gssapi/mech/gss_verify_mic.c @@ -39,6 +39,8 @@ gss_verify_mic(OM_uint32 *minor_status, struct _gss_context *ctx = (struct _gss_context *) context_handle; gssapi_mech_interface m = ctx->gc_mech; + if (qop_state) + *qop_state = 0; if (ctx == NULL) { *minor_status = 0; return GSS_S_NO_CONTEXT; diff --git a/lib/gssapi/mech/gss_wrap.c b/lib/gssapi/mech/gss_wrap.c index 625ab70d9..2f64fb559 100644 --- a/lib/gssapi/mech/gss_wrap.c +++ b/lib/gssapi/mech/gss_wrap.c @@ -41,6 +41,14 @@ gss_wrap(OM_uint32 *minor_status, struct _gss_context *ctx = (struct _gss_context *) context_handle; gssapi_mech_interface m = ctx->gc_mech; + if (conf_state) + *conf_state = 0; + _mg_buffer_zero(output_message_buffer); + if (ctx == NULL) { + *minor_status = 0; + return GSS_S_NO_CONTEXT; + } + return (m->gm_wrap(minor_status, ctx->gc_ctx, conf_req_flag, qop_req, input_message_buffer, conf_state, output_message_buffer)); diff --git a/lib/gssapi/mech/gss_wrap_size_limit.c b/lib/gssapi/mech/gss_wrap_size_limit.c index 7b791f50b..894f92b56 100644 --- a/lib/gssapi/mech/gss_wrap_size_limit.c +++ b/lib/gssapi/mech/gss_wrap_size_limit.c @@ -39,6 +39,12 @@ gss_wrap_size_limit(OM_uint32 *minor_status, { struct _gss_context *ctx = (struct _gss_context *) context_handle; gssapi_mech_interface m = ctx->gc_mech; + + *max_input_size = 0; + if (ctx == NULL) { + *minor_status = 0; + return GSS_S_NO_CONTEXT; + } return (m->gm_wrap_size_limit(minor_status, ctx->gc_ctx, conf_req_flag, qop_req, req_output_size, max_input_size));