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. Reported by: Coverity CID: 1273430 Sponsored by: EMC / Isilon Storage Division
This commit is contained in:
parent
fe4be618c9
commit
f74fc68670
@ -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) {
|
||||
|
Loading…
Reference in New Issue
Block a user