krb5_mk_ncred: clean enc_krb_cred_part before use
the early exit case can try to free enc_krb_cred_part, which will be stack garbage. clear it before it's used.
This commit is contained in:

committed by
Nico Williams

parent
bfcc7a90ed
commit
c2a7041402
@@ -141,6 +141,7 @@ _krb5_mk_ncred(krb5_context context,
|
|||||||
;
|
;
|
||||||
|
|
||||||
memset (&cred, 0, sizeof(cred));
|
memset (&cred, 0, sizeof(cred));
|
||||||
|
memset (&enc_krb_cred_part, 0, sizeof(enc_krb_cred_part));
|
||||||
cred.pvno = 5;
|
cred.pvno = 5;
|
||||||
cred.msg_type = krb_cred;
|
cred.msg_type = krb_cred;
|
||||||
ALLOC_SEQ(&cred.tickets, ncreds);
|
ALLOC_SEQ(&cred.tickets, ncreds);
|
||||||
@@ -148,7 +149,6 @@ _krb5_mk_ncred(krb5_context context,
|
|||||||
ret = krb5_enomem(context);
|
ret = krb5_enomem(context);
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
memset (&enc_krb_cred_part, 0, sizeof(enc_krb_cred_part));
|
|
||||||
ALLOC_SEQ(&enc_krb_cred_part.ticket_info, ncreds);
|
ALLOC_SEQ(&enc_krb_cred_part.ticket_info, ncreds);
|
||||||
if (enc_krb_cred_part.ticket_info.val == NULL) {
|
if (enc_krb_cred_part.ticket_info.val == NULL) {
|
||||||
ret = krb5_enomem(context);
|
ret = krb5_enomem(context);
|
||||||
|
Reference in New Issue
Block a user