summaryrefslogtreecommitdiffstats
path: root/src/lib/crypto
diff options
context:
space:
mode:
authorSam Hartman <hartmans@mit.edu>2011-09-19 00:34:48 +0000
committerSam Hartman <hartmans@mit.edu>2011-09-19 00:34:48 +0000
commit61c280a73539acbe68bb203ea8f09cf52cf4b784 (patch)
tree780dd58dbffb81889be80225e3a3875b1f023dbb /src/lib/crypto
parentc65b97433bbf1503670a9fb9260799e699e9bf56 (diff)
downloadkrb5-61c280a73539acbe68bb203ea8f09cf52cf4b784.tar.gz
krb5-61c280a73539acbe68bb203ea8f09cf52cf4b784.tar.xz
krb5-61c280a73539acbe68bb203ea8f09cf52cf4b784.zip
In pkinit_crypto_openssl.c, modified pkinit_octetstring2key() to
eliminate a possible memory leak in the error path, where the key_block->length was set to zero but the key_block->contents were not freed. Also, changed calloc() call to a malloc() call to avoid allocating up to 8 times as much buffer space as needed. In keyblocks.c, modified kr5_free_keyblock_contents() to set the key->length to zero after the key->contents have been freed. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@25189 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/crypto')
-rw-r--r--src/lib/crypto/krb/keyblocks.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/lib/crypto/krb/keyblocks.c b/src/lib/crypto/krb/keyblocks.c
index 21faa56311..98696f5086 100644
--- a/src/lib/crypto/krb/keyblocks.c
+++ b/src/lib/crypto/krb/keyblocks.c
@@ -68,6 +68,7 @@ krb5int_c_free_keyblock_contents(krb5_context context, krb5_keyblock *key)
if (key && key->contents) {
zapfree(key->contents, key->length);
key->contents = NULL;
+ key->length = 0;
}
}