tor

The Tor anonymity network
git clone https://git.dasho.dev/tor.git
Log | Files | Refs | README | LICENSE

commit dfaa5c65f9fbfde9a12d8eb3ed848cab6ed1a5f9
parent a007c02df0140d15697cf0ca61cea90bfc494789
Author: David Goulet <dgoulet@torproject.org>
Date:   Thu, 24 Aug 2017 16:21:44 -0400

test: Fix memory leak in hs_descriptor/decode_bad_signature

Fixes #23319

Signed-off-by: David Goulet <dgoulet@torproject.org>

Diffstat:
Msrc/or/hs_descriptor.c | 2+-
Msrc/or/hs_descriptor.h | 2++
Msrc/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 @@ -147,7 +147,7 @@ static token_rule_t hs_desc_intro_point_v3_token_table[] = { }; /* 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 @@ -256,6 +256,8 @@ STATIC int desc_sig_is_valid(const char *b64_sig, const char *encoded_desc, size_t encoded_len); 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 @@ -581,7 +581,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