diff options
author | John Kohl <jtkohl@mit.edu> | 1990-05-18 10:47:32 +0000 |
---|---|---|
committer | John Kohl <jtkohl@mit.edu> | 1990-05-18 10:47:32 +0000 |
commit | 68e38d3270f3b03af8165e8e864083f1f2b06313 (patch) | |
tree | f3e49de701c70573abfffe023991771afeff9f4e /src/lib/krb5/krb/encode_kdc.c | |
parent | 0d860a3117ba632976ddfa270ee1683b77b10e55 (diff) | |
download | krb5-68e38d3270f3b03af8165e8e864083f1f2b06313.zip krb5-68e38d3270f3b03af8165e8e864083f1f2b06313.tar.gz krb5-68e38d3270f3b03af8165e8e864083f1f2b06313.tar.bz2 |
add padding area, and zero it (for encryption functions)
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@885 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/krb5/krb/encode_kdc.c')
-rw-r--r-- | src/lib/krb5/krb/encode_kdc.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/lib/krb5/krb/encode_kdc.c b/src/lib/krb5/krb/encode_kdc.c index 89cd913..3d4df54 100644 --- a/src/lib/krb5/krb/encode_kdc.c +++ b/src/lib/krb5/krb/encode_kdc.c @@ -74,7 +74,15 @@ OLDDECLARG(krb5_data **, enc_rep) eblock.crypto_entry = krb5_csarray[dec_rep->etype]->system; dec_rep->enc_part.length = krb5_encrypt_size(scratch->length, - eblock.crypto_entry); + eblock.crypto_entry); + /* add padding area, and zero it */ + if (!(scratch->data = realloc(scratch->data, dec_rep->enc_part.length))) { + /* may destroy scratch->data */ + xfree(scratch); + return ENOMEM; + } + bzero(scratch->data + scratch->length, + dec_rep->enc_part.length - scratch->length); if (!(dec_rep->enc_part.data = malloc(dec_rep->enc_part.length))) { retval = ENOMEM; goto clean_scratch; |