Browse Source

test: Fix memory leak in hs_descriptor/decode_bad_signature

Fixes #23319

Cherry-picked from master; bug not in any released Tor.
David Goulet 6 years ago
parent
commit
7eaf055b28
3 changed files with 5 additions and 2 deletions
  1. 1 1
      src/or/hs_descriptor.c
  2. 2 0
      src/or/hs_descriptor.h
  3. 2 1
      src/test/test_hs_descriptor.c

+ 1 - 1
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) {

+ 2 - 0
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 */

+ 2 - 1
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