aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Goulet <dgoulet@torproject.org>2017-08-24 16:21:44 -0400
committerNick Mathewson <nickm@torproject.org>2017-09-05 09:26:21 -0400
commit7eaf055b280cd324507fa55758148dfee62657b1 (patch)
tree80526683f6241cb069a7eed094b665d449e8f23c
parent2d55620a9eac89cd1dd43250899119485b505a15 (diff)
downloadtor-7eaf055b280cd324507fa55758148dfee62657b1.tar.gz
tor-7eaf055b280cd324507fa55758148dfee62657b1.zip
test: Fix memory leak in hs_descriptor/decode_bad_signature
Fixes #23319 Cherry-picked from master; bug not in any released Tor.
-rw-r--r--src/or/hs_descriptor.c2
-rw-r--r--src/or/hs_descriptor.h2
-rw-r--r--src/test/test_hs_descriptor.c3
3 files changed, 5 insertions, 2 deletions
diff --git a/src/or/hs_descriptor.c b/src/or/hs_descriptor.c
index 616d2f280b..fae527b2db 100644
--- a/src/or/hs_descriptor.c
+++ b/src/or/hs_descriptor.c
@@ -167,7 +167,7 @@ desc_intro_point_free(hs_desc_intro_point_t *ip)
}
/* Free the content of the plaintext section of a descriptor. */
-static void
+STATIC void
desc_plaintext_data_free_contents(hs_desc_plaintext_data_t *desc)
{
if (!desc) {
diff --git a/src/or/hs_descriptor.h b/src/or/hs_descriptor.h
index b8b94792de..136477ae3a 100644
--- a/src/or/hs_descriptor.h
+++ b/src/or/hs_descriptor.h
@@ -235,6 +235,8 @@ STATIC int desc_sig_is_valid(const char *b64_sig,
STATIC void desc_intro_point_free(hs_desc_intro_point_t *ip);
STATIC size_t decode_superencrypted(const char *message, size_t message_len,
uint8_t **encrypted_out);
+STATIC void desc_plaintext_data_free_contents(hs_desc_plaintext_data_t *desc);
+
#endif /* HS_DESCRIPTOR_PRIVATE */
#endif /* TOR_HS_DESCRIPTOR_H */
diff --git a/src/test/test_hs_descriptor.c b/src/test/test_hs_descriptor.c
index 8f8da361de..7d7ec7d9db 100644
--- a/src/test/test_hs_descriptor.c
+++ b/src/test/test_hs_descriptor.c
@@ -574,7 +574,8 @@ test_decode_bad_signature(void *arg)
expect_log_msg_containing("Malformed signature line. Rejecting.");
teardown_capture_of_logs();
- done: ;
+ done:
+ desc_plaintext_data_free_contents(&desc_plaintext);
}
static void