summaryrefslogtreecommitdiffstats
path: root/src/lib/krb5/krb/gc_via_tkt.c
diff options
context:
space:
mode:
authorTheodore Tso <tytso@mit.edu>1996-02-28 05:35:06 +0000
committerTheodore Tso <tytso@mit.edu>1996-02-28 05:35:06 +0000
commite2fb08dbb53ab805f878eaa7d2938d2b2368eb01 (patch)
treed60992e7531fe602df21bdbfae7bff5a70d85e26 /src/lib/krb5/krb/gc_via_tkt.c
parentbcf9d1dbcee8539444e0b8897c643655381d9dac (diff)
downloadkrb5-e2fb08dbb53ab805f878eaa7d2938d2b2368eb01.tar.gz
krb5-e2fb08dbb53ab805f878eaa7d2938d2b2368eb01.tar.xz
krb5-e2fb08dbb53ab805f878eaa7d2938d2b2368eb01.zip
Fix memory leak; free enctypes after use
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@7566 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/krb5/krb/gc_via_tkt.c')
-rw-r--r--src/lib/krb5/krb/gc_via_tkt.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/lib/krb5/krb/gc_via_tkt.c b/src/lib/krb5/krb/gc_via_tkt.c
index cd8a18c8d6..0ee9197703 100644
--- a/src/lib/krb5/krb/gc_via_tkt.c
+++ b/src/lib/krb5/krb/gc_via_tkt.c
@@ -111,7 +111,7 @@ krb5_get_cred_via_tkt (context, tkt, kdcoptions, address, in_cred, out_cred)
krb5_kdc_rep *dec_rep;
krb5_error *err_reply;
krb5_response tgsrep;
-krb5_enctype *enctypes = 0;
+ krb5_enctype *enctypes = 0;
/* tkt->client must be equal to in_cred->client */
if (!krb5_principal_compare(context, tkt->client, in_cred->client))
@@ -152,12 +152,15 @@ krb5_enctype *enctypes = 0;
enctypes[1] = 0;
}
- if ((retval = krb5_send_tgs(context, kdcoptions, &in_cred->times, enctypes,
- in_cred->server, address, in_cred->authdata,
- 0, /* no padata */
- (kdcoptions & KDC_OPT_ENC_TKT_IN_SKEY) ?
- &in_cred->second_ticket : NULL,
- tkt, &tgsrep)))
+ retval = krb5_send_tgs(context, kdcoptions, &in_cred->times, enctypes,
+ in_cred->server, address, in_cred->authdata,
+ 0, /* no padata */
+ (kdcoptions & KDC_OPT_ENC_TKT_IN_SKEY) ?
+ &in_cred->second_ticket : NULL,
+ tkt, &tgsrep);
+ if (enctypes)
+ free(enctypes);
+ if (retval)
return retval;
switch (tgsrep.message_type) {