diff options
author | David Goulet <dgoulet@torproject.org> | 2017-08-24 16:21:44 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2017-09-05 09:26:21 -0400 |
commit | 7eaf055b280cd324507fa55758148dfee62657b1 (patch) | |
tree | 80526683f6241cb069a7eed094b665d449e8f23c | |
parent | 2d55620a9eac89cd1dd43250899119485b505a15 (diff) | |
download | tor-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.c | 2 | ||||
-rw-r--r-- | src/or/hs_descriptor.h | 2 | ||||
-rw-r--r-- | src/test/test_hs_descriptor.c | 3 |
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 |