YACA: Fix T4236 memory leak. 60/85860/2
authorDariusz Michaluk <d.michaluk@samsung.com>
Mon, 29 Aug 2016 09:13:27 +0000 (11:13 +0200)
committerKrzysztof Jackiewicz <k.jackiewicz@samsung.com>
Mon, 29 Aug 2016 14:57:10 +0000 (07:57 -0700)
Change-Id: I47d28182022e8119931978f06e394617a211d049

src/yaca/yaca-test-key.cpp

index 66561848bdd91d809818428bcd7128c67b0719db..85e43a21f9fcc84f0bbd7606d68b79c62f641568 100644 (file)
@@ -698,7 +698,6 @@ RUNNER_TEST(T4236_yaca_key_derive_kdf_invalid_param, YacaTest)
 {
     yaca_kdf_e kdf = YACA_KDF_X942;
     yaca_digest_algorithm_e digest = YACA_DIGEST_SHA512;
-    char *secret;
     size_t secret_len;
     char *info = NULL;
     size_t info_len = 0;
@@ -708,16 +707,16 @@ RUNNER_TEST(T4236_yaca_key_derive_kdf_invalid_param, YacaTest)
     KeyPtr peer_key_dh_priv = generate_key(YACA_KEY_TYPE_DH_PRIV, YACA_KEY_LENGTH_DH_RFC_2048_256);
     KeyPtr peer_key_dh_pub = extract_public_key(peer_key_dh_priv);
 
-    YACA_SUCCESS(yaca_key_derive_dh(key_dh_priv.get(), peer_key_dh_pub.get(), &secret, &secret_len));
+    ChrPtr secret = key_derive_dh(key_dh_priv, peer_key_dh_pub, &secret_len);
 
     YACA_INVALID_PARAM(yaca_key_derive_kdf(static_cast<yaca_kdf_e>(-1),
-                                           digest, secret, secret_len, info, info_len, 512, &key_material));
+                                           digest, secret.get(), secret_len, info, info_len, 512, &key_material));
     YACA_INVALID_PARAM(yaca_key_derive_kdf(kdf, static_cast<yaca_digest_algorithm_e>(-1),
-                                           secret, secret_len, info, info_len, 512, &key_material));
+                                           secret.get(), secret_len, info, info_len, 512, &key_material));
     YACA_INVALID_PARAM(yaca_key_derive_kdf(kdf, digest, nullptr, secret_len, info, info_len, 512, &key_material));
-    YACA_INVALID_PARAM(yaca_key_derive_kdf(kdf, digest, secret, 0, info, info_len, 512, &key_material));
-    YACA_INVALID_PARAM(yaca_key_derive_kdf(kdf, digest, secret, secret_len, info, info_len, 0, &key_material));
-    YACA_INVALID_PARAM(yaca_key_derive_kdf(kdf, digest, secret, secret_len, info, info_len, 512, nullptr));
+    YACA_INVALID_PARAM(yaca_key_derive_kdf(kdf, digest, secret.get(), 0, info, info_len, 512, &key_material));
+    YACA_INVALID_PARAM(yaca_key_derive_kdf(kdf, digest, secret.get(), secret_len, info, info_len, 0, &key_material));
+    YACA_INVALID_PARAM(yaca_key_derive_kdf(kdf, digest, secret.get(), secret_len, info, info_len, 512, nullptr));
 }
 
 RUNNER_TEST(T4240_yaca_key_derive_pbkdf2_invalid_param, YacaTest)