diff options
author | Russ Allbery <rra@stanford.edu> | 2012-09-24 20:58:48 -0700 |
---|---|---|
committer | Russ Allbery <rra@stanford.edu> | 2012-09-24 20:58:48 -0700 |
commit | a9050015bbe7e2817f504414aac7009b13058e0f (patch) | |
tree | 876e82ef77d6d7cc7631cbc2d3b397fa60f9158f /util | |
parent | 7a02f3ffed5fcfdfe0e91e37ae304a95bd51f5f1 (diff) |
Close more client memory leaks on error conditions
Change-Id: I111f7a9c7e5f499e624e1046ace09a7ae53249a7
Diffstat (limited to 'util')
-rw-r--r-- | util/gss-errors.c | 4 |
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; |