aboutsummaryrefslogtreecommitdiff
path: root/src/test/test_crypto.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2009-09-27 12:07:33 -0400
committerNick Mathewson <nickm@torproject.org>2009-09-27 12:07:33 -0400
commit008dc890d8d393f3a7be8ffae131632e46c5bc53 (patch)
tree59489aae0f59270ceaf22da464b127becc5d9c23 /src/test/test_crypto.c
parenta24b9e60884f6aec1bfbe8da20a02d1fdc0cd181 (diff)
downloadtor-008dc890d8d393f3a7be8ffae131632e46c5bc53.tar.gz
tor-008dc890d8d393f3a7be8ffae131632e46c5bc53.zip
Improved fix for test_memeq_hex leak.
The earlier fix would only handle the success case. In the failing case, test_mem_op does a goto done, which would leave the leak leaking.
Diffstat (limited to 'src/test/test_crypto.c')
-rw-r--r--src/test/test_crypto.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/test/test_crypto.c b/src/test/test_crypto.c
index d937d43983..d235520d09 100644
--- a/src/test/test_crypto.c
+++ b/src/test/test_crypto.c
@@ -96,6 +96,7 @@ test_crypto_aes(void)
char *data1 = NULL, *data2 = NULL, *data3 = NULL;
crypto_cipher_env_t *env1 = NULL, *env2 = NULL;
int i, j;
+ char *mem_op_hex_tmp=NULL;
data1 = tor_malloc(1024);
data2 = tor_malloc(1024);
@@ -210,6 +211,7 @@ test_crypto_aes(void)
test_assert(tor_mem_is_zero(data2, 64));
done:
+ tor_free(mem_op_hex_tmp);
if (env1)
crypto_free_cipher_env(env1);
if (env2)
@@ -229,6 +231,7 @@ test_crypto_sha(void)
char digest[32];
char data[50];
char d_out1[DIGEST_LEN], d_out2[DIGEST256_LEN];
+ char *mem_op_hex_tmp=NULL;
/* Test SHA-1 with a test vector from the specification. */
i = crypto_digest(data, "abc", 3);
@@ -312,6 +315,7 @@ test_crypto_sha(void)
crypto_free_digest_env(d1);
if (d2)
crypto_free_digest_env(d2);
+ tor_free(mem_op_hex_tmp);
}
/** Run unit tests for our public key crypto functions */