summaryrefslogtreecommitdiffstats
path: root/src/lib/crypto
diff options
context:
space:
mode:
authorBen Kaduk <kaduk@mit.edu>2012-11-21 21:57:40 -0500
committerBen Kaduk <kaduk@mit.edu>2012-11-28 15:22:42 -0500
commit6b37134d163beeeb136b4a59109c523e0bf83f3b (patch)
tree819032d9e5e368b188f08e65970afccf405e82a9 /src/lib/crypto
parentb358b505be4502a71495ce58b8444027121726ee (diff)
downloadkrb5-6b37134d163beeeb136b4a59109c523e0bf83f3b.tar.gz
krb5-6b37134d163beeeb136b4a59109c523e0bf83f3b.tar.xz
krb5-6b37134d163beeeb136b4a59109c523e0bf83f3b.zip
Add camellia_key_cleanup
Fix memory leak. ticket: 7457 tags: pullup target_version: 1.11
Diffstat (limited to 'src/lib/crypto')
-rw-r--r--src/lib/crypto/builtin/enc_provider/camellia.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/lib/crypto/builtin/enc_provider/camellia.c b/src/lib/crypto/builtin/enc_provider/camellia.c
index 2faf811bf3..7a0fbd96ef 100644
--- a/src/lib/crypto/builtin/enc_provider/camellia.c
+++ b/src/lib/crypto/builtin/enc_provider/camellia.c
@@ -318,6 +318,12 @@ camellia_init_state(const krb5_keyblock *key, krb5_keyusage usage,
return 0;
}
+static void
+camellia_key_cleanup(krb5_key key)
+{
+ zapfree(key->cache, sizeof(struct camellia_key_info_cache));
+}
+
const struct krb5_enc_provider krb5int_enc_camellia128 = {
16,
16, 16,
@@ -326,6 +332,7 @@ const struct krb5_enc_provider krb5int_enc_camellia128 = {
krb5int_camellia_cbc_mac,
camellia_init_state,
krb5int_default_free_state,
+ camellia_key_cleanup
};
const struct krb5_enc_provider krb5int_enc_camellia256 = {
@@ -335,5 +342,6 @@ const struct krb5_enc_provider krb5int_enc_camellia256 = {
krb5int_camellia_decrypt,
krb5int_camellia_cbc_mac,
camellia_init_state,
- krb5int_default_free_state
+ krb5int_default_free_state,
+ camellia_key_cleanup
};