diff options
author | Greg Hudson <ghudson@mit.edu> | 2010-09-28 03:40:46 +0000 |
---|---|---|
committer | Greg Hudson <ghudson@mit.edu> | 2010-09-28 03:40:46 +0000 |
commit | 26e723bcdf2b4380e779f12f7bbe5a6bdc1b1121 (patch) | |
tree | b93bab3db9f3ea0aeac17a327be55c9c9c40e31e | |
parent | b274418c230aaae413739a47488587656ec9c91a (diff) | |
download | krb5-26e723bcdf2b4380e779f12f7bbe5a6bdc1b1121.zip krb5-26e723bcdf2b4380e779f12f7bbe5a6bdc1b1121.tar.gz krb5-26e723bcdf2b4380e779f12f7bbe5a6bdc1b1121.tar.bz2 |
Clean up hash and digest contexts in the back end to avoid refcount
leaks.
git-svn-id: svn://anonsvn.mit.edu/krb5/branches/nss@24367 dc483132-0cff-0310-8789-dd5450dbe970
-rw-r--r-- | src/lib/crypto/nss/hash_provider/hash_gen.c | 1 | ||||
-rw-r--r-- | src/lib/crypto/nss/hmac.c | 3 |
2 files changed, 2 insertions, 2 deletions
diff --git a/src/lib/crypto/nss/hash_provider/hash_gen.c b/src/lib/crypto/nss/hash_provider/hash_gen.c index 98a8cc6..85cbde6 100644 --- a/src/lib/crypto/nss/hash_provider/hash_gen.c +++ b/src/lib/crypto/nss/hash_provider/hash_gen.c @@ -61,6 +61,7 @@ k5_nss_gen_hash(HASH_HashType hashType, const krb5_crypto_iov *data, HASH_End(ctx, (unsigned char *)output->data, &output->length, output->length); + HASH_Destroy(ctx); return 0; } diff --git a/src/lib/crypto/nss/hmac.c b/src/lib/crypto/nss/hmac.c index a909e6e..a77f3d4 100644 --- a/src/lib/crypto/nss/hmac.c +++ b/src/lib/crypto/nss/hmac.c @@ -151,10 +151,9 @@ krb5int_hmac(const struct krb5_hash_provider *hash, krb5_key key, } rv = PK11_DigestFinal(ctx, (unsigned char *) output->data, &output->length, output->length); - ctx = NULL; if (rv != SECSuccess) goto fail; - + PK11_DestroyContext(ctx, PR_TRUE); return 0; fail: ret = k5_nss_map_last_error(); |