Clear the memory before freeing a symmetric key 63/79963/2
authorKrzysztof Jackiewicz <k.jackiewicz@samsung.com>
Wed, 13 Jul 2016 15:10:21 +0000 (17:10 +0200)
committerKrzysztof Jackiewicz <k.jackiewicz@samsung.com>
Mon, 18 Jul 2016 08:09:36 +0000 (01:09 -0700)
Change-Id: Iaffaf927709dfcfb831d7973d87d5a2ee5194bf0

src/key.c

index e018d14..9d14cf7 100644 (file)
--- a/src/key.c
+++ b/src/key.c
@@ -1281,8 +1281,10 @@ API void yaca_key_destroy(yaca_key_h key)
        struct yaca_key_simple_s *simple_key = key_get_simple(key);
        struct yaca_key_evp_s *evp_key = key_get_evp(key);
 
-       if (simple_key != NULL)
+       if (simple_key != NULL) {
+               OPENSSL_cleanse(simple_key->d, simple_key->bit_len / 8);
                yaca_free(simple_key);
+       }
 
        if (evp_key != NULL) {
                EVP_PKEY_free(evp_key->evp);