summaryrefslogtreecommitdiffstats
path: root/src/lib/krb5
diff options
context:
space:
mode:
authorGreg Hudson <ghudson@mit.edu>2013-08-02 11:37:40 -0400
committerGreg Hudson <ghudson@mit.edu>2013-08-02 11:37:40 -0400
commit40d8ad25e2160583c6d74a10e7599253d3b292ce (patch)
treeb8f9bec24490b223bea3c584e9ea31887479db87 /src/lib/krb5
parentc5e25a236878b9807ffefe510836d1ddb59e6901 (diff)
downloadkrb5-40d8ad25e2160583c6d74a10e7599253d3b292ce.tar.gz
krb5-40d8ad25e2160583c6d74a10e7599253d3b292ce.tar.xz
krb5-40d8ad25e2160583c6d74a10e7599253d3b292ce.zip
Fix leak in krb5_krcc_unparse_cred on error
Based on a patch from simo@redhat.com.
Diffstat (limited to 'src/lib/krb5')
-rw-r--r--src/lib/krb5/ccache/cc_keyring.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lib/krb5/ccache/cc_keyring.c b/src/lib/krb5/ccache/cc_keyring.c
index 3828c5949a..55c7711dd4 100644
--- a/src/lib/krb5/ccache/cc_keyring.c
+++ b/src/lib/krb5/ccache/cc_keyring.c
@@ -1913,7 +1913,7 @@ krb5_krcc_unparse_cred(krb5_context context, krb5_ccache id,
krb5_creds * creds, char **datapp, unsigned int *lenptr)
{
krb5_error_code kret;
- char *buf;
+ char *buf = NULL;
krb5_krcc_bc bc;
if (!creds || !datapp || !lenptr)
@@ -1963,9 +1963,11 @@ krb5_krcc_unparse_cred(krb5_context context, krb5_ccache id,
/* Success! */
*datapp = buf;
*lenptr = bc.bpp - buf;
+ buf = NULL;
kret = KRB5_OK;
errout:
+ free(buf);
return kret;
}