diff --git a/lib/krb5/get_in_tkt.c b/lib/krb5/get_in_tkt.c index a9a199906..817d6c1da 100644 --- a/lib/krb5/get_in_tkt.c +++ b/lib/krb5/get_in_tkt.c @@ -241,7 +241,7 @@ krb5_get_in_tkt(krb5_context context, krb5_const_pointer decryptarg, krb5_creds *creds, krb5_ccache ccache, - krb5_kdc_rep **ret_as_reply) + krb5_kdc_rep *ret_as_reply) { krb5_error_code ret; AS_REQ a; @@ -406,8 +406,11 @@ krb5_get_in_tkt(krb5_context context, free (key); #endif - free_KDC_REP(&rep.part1); - free_EncTGSRepPart(&rep.part2); + if (ret_as_reply) + *ret_as_reply = rep; + else + krb5_free_kdc_rep (context, &rep); + if(ret) return ret; ret = krb5_cc_store_cred (context, ccache, creds);