summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWerner Koch <wk@gnupg.org>2011-04-11 21:39:55 +0200
committerWerner Koch <wk@gnupg.org>2011-04-11 21:39:55 +0200
commit8ecc5614cc40a2d37c3ca704d06470a38c76983d (patch)
tree95d90489af1605a7b840c04c1b04df67af51a34c
parenteaee23fe56ca2d6bbbde8e883568b6b46445a240 (diff)
downloadlibgcrypt-8ecc5614cc40a2d37c3ca704d06470a38c76983d.tar.gz
Fix double free in gcry_pk_get_keygrip.
This was introduced by the previous memleak change.
-rw-r--r--cipher/ChangeLog2
-rw-r--r--cipher/pubkey.c1
2 files changed, 3 insertions, 0 deletions
diff --git a/cipher/ChangeLog b/cipher/ChangeLog
index ce955a15..2a28b204 100644
--- a/cipher/ChangeLog
+++ b/cipher/ChangeLog
@@ -1,5 +1,7 @@
2011-04-11 Werner Koch <wk@g10code.com>
+ * pubkey.c (gcry_pk_get_keygrip): Avoid double free of L2.
+
* cipher.c (_gcry_cipher_setctr): Clear unused lastiv info.
(gcry_cipher_ctl) <GCRYCTL_SET_CTR>: Implement by calling
_gcry_cipher_setctr.
diff --git a/cipher/pubkey.c b/cipher/pubkey.c
index 27fb7f79..0fd87f96 100644
--- a/cipher/pubkey.c
+++ b/cipher/pubkey.c
@@ -2468,6 +2468,7 @@ gcry_pk_get_keygrip (gcry_sexp_t key, unsigned char *array)
gcry_md_write (md, buf, strlen (buf));
gcry_md_write (md, data, datalen);
gcry_sexp_release (l2);
+ l2 = NULL;
gcry_md_write (md, ")", 1);
}
}