summaryrefslogtreecommitdiff
path: root/util
diff options
context:
space:
mode:
authorRuss Allbery <rra@stanford.edu>2012-09-24 20:58:48 -0700
committerRuss Allbery <rra@stanford.edu>2012-09-24 20:58:48 -0700
commita9050015bbe7e2817f504414aac7009b13058e0f (patch)
tree876e82ef77d6d7cc7631cbc2d3b397fa60f9158f /util
parent7a02f3ffed5fcfdfe0e91e37ae304a95bd51f5f1 (diff)
Close more client memory leaks on error conditions
Change-Id: I111f7a9c7e5f499e624e1046ace09a7ae53249a7
Diffstat (limited to 'util')
-rw-r--r--util/gss-errors.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/util/gss-errors.c b/util/gss-errors.c
index 7253176..c748cdb 100644
--- a/util/gss-errors.c
+++ b/util/gss-errors.c
@@ -32,7 +32,7 @@ gssapi_error_string(const char *prefix, OM_uint32 major, OM_uint32 minor)
{
char *string, *old;
gss_buffer_desc msg;
- OM_uint32 msg_ctx, status;
+ OM_uint32 msg_ctx, status, dummy;
string = NULL;
msg_ctx = 0;
@@ -51,6 +51,7 @@ gssapi_error_string(const char *prefix, OM_uint32 major, OM_uint32 minor)
else
free(old);
}
+ gss_release_buffer(&dummy, &msg);
} while (msg_ctx != 0);
if (minor != 0) {
msg_ctx = 0;
@@ -63,6 +64,7 @@ gssapi_error_string(const char *prefix, OM_uint32 major, OM_uint32 minor)
string = old;
else
free(old);
+ gss_release_buffer(&dummy, &msg);
} while (msg_ctx != 0);
}
return string;