MFC r299495:

r299495 (by cem):

libkrb5: Fix potential double-free

If krb5_make_principal fails, tmp_creds.server may remain a pointer to freed
memory and then be double-freed.  After freeing it the first time, initialize
it to NULL, which causes subsequent krb5_free_principal calls to do the right
thing.

CID:		1273430
This commit is contained in:
Enji Cooper 2016-06-10 14:48:10 +00:00
parent f2c7642036
commit 65cd41f399
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/stable/10/; revision=301792

View File

@ -831,6 +831,7 @@ get_cred_kdc_capath_worker(krb5_context context,
if(strcmp(tgt_inst, server_realm) == 0)
break;
krb5_free_principal(context, tmp_creds.server);
tmp_creds.server = NULL;
ret = krb5_make_principal(context, &tmp_creds.server,
tgt_inst, KRB5_TGS_NAME, server_realm, NULL);
if(ret) {