From ab649d31547b26d5eda35366c6a429e34138e364 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Love=20H=C3=B6rnquist=20=C3=85strand?= Date: Tue, 24 Oct 2006 21:53:02 +0000 Subject: [PATCH] (gss_release_buffer_set): don't leak the ->elements memory. git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@18885 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/gssapi/mech/gss_buffer_set.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/lib/gssapi/mech/gss_buffer_set.c b/lib/gssapi/mech/gss_buffer_set.c index 82f7ea61f..405d6e251 100644 --- a/lib/gssapi/mech/gss_buffer_set.c +++ b/lib/gssapi/mech/gss_buffer_set.c @@ -98,22 +98,21 @@ gss_add_buffer_set_member } OM_uint32 -gss_release_buffer_set - (OM_uint32 * minor_status, - gss_buffer_set_t *buffer_set) +gss_release_buffer_set(OM_uint32 * minor_status, + gss_buffer_set_t *buffer_set) { int i; OM_uint32 minor; *minor_status = 0; - if (*buffer_set == GSS_C_NO_BUFFER_SET) { + if (*buffer_set == GSS_C_NO_BUFFER_SET) return GSS_S_COMPLETE; - } - for (i = 0; i < (*buffer_set)->count; i++) { + for (i = 0; i < (*buffer_set)->count; i++) gss_release_buffer(&minor, &((*buffer_set)->elements[i])); - } + + free((*buffer_set)->elements); (*buffer_set)->elements = NULL; (*buffer_set)->count = 0;