summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNalin Dahyabhai <nalin@redhat.com>2014-06-25 12:56:42 -0400
committerGreg Hudson <ghudson@mit.edu>2014-06-25 14:40:27 -0400
commit476284de8dc9a52b5544445cb1b316a417ae88f0 (patch)
tree44a10a0fcace077ed43db6100e4b96eb631a3c79
parent09246e64e20f079bef6163e9e1d0ecda7917b8c2 (diff)
downloadkrb5-476284de8dc9a52b5544445cb1b316a417ae88f0.tar.gz
krb5-476284de8dc9a52b5544445cb1b316a417ae88f0.tar.xz
krb5-476284de8dc9a52b5544445cb1b316a417ae88f0.zip
Fix unlikely null dereference in mk_cred()
If krb5_encrypt_keyhelper() returns an error, the ciphertext structure may contain a non-zero length, but it will already have freed the pointer to its data, making encrypt_credencpart()'s subsequent attempt to clear and free the memory fail. Remove that logic. Based on a patch from Jatin Nansi. ticket: 7948 (new) target_version: 1.12.2 tags: pullup
-rw-r--r--src/lib/krb5/krb/mk_cred.c7
1 files changed, 0 insertions, 7 deletions
diff --git a/src/lib/krb5/krb/mk_cred.c b/src/lib/krb5/krb/mk_cred.c
index a31d85cac..7616c3a7a 100644
--- a/src/lib/krb5/krb/mk_cred.c
+++ b/src/lib/krb5/krb/mk_cred.c
@@ -49,13 +49,6 @@ encrypt_credencpart(krb5_context context, krb5_cred_enc_part *pcredpart,
KRB5_KEYUSAGE_KRB_CRED_ENCPART, scratch,
pencdata);
- if (retval) {
- memset(pencdata->ciphertext.data, 0, pencdata->ciphertext.length);
- free(pencdata->ciphertext.data);
- pencdata->ciphertext.length = 0;
- pencdata->ciphertext.data = 0;
- }
-
memset(scratch->data, 0, scratch->length);
krb5_free_data(context, scratch);