commit c997d49ad6e6a360323311444eed1dbee785aea4 Author: Alexander Færøy ahf@torproject.org Date: Sat Jun 23 12:39:20 2018 +0200
Fix memory link in test_link_specifier().
This patch fixes a memory leak in test_link_specifier() where ls might not get freed in case one of the test macros fails.
See: Coverity CID 1437434. --- src/test/test_hs_descriptor.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/src/test/test_hs_descriptor.c b/src/test/test_hs_descriptor.c index 97fe1910b..365683e75 100644 --- a/src/test/test_hs_descriptor.c +++ b/src/test/test_hs_descriptor.c @@ -376,6 +376,9 @@ test_link_specifier(void *arg) ssize_t ret; hs_desc_link_specifier_t spec; smartlist_t *link_specifiers = smartlist_new(); + char buf[256]; + char *b64 = NULL; + link_specifier_t *ls = NULL;
(void) arg;
@@ -385,9 +388,7 @@ test_link_specifier(void *arg)
/* Test IPv4 for starter. */ { - char *b64, buf[256]; uint32_t ipv4; - link_specifier_t *ls;
spec.type = LS_IPV4; ret = tor_addr_parse(&spec.u.ap.addr, "1.2.3.4"); @@ -414,9 +415,7 @@ test_link_specifier(void *arg)
/* Test IPv6. */ { - char *b64, buf[256]; uint8_t ipv6[16]; - link_specifier_t *ls;
spec.type = LS_IPV6; ret = tor_addr_parse(&spec.u.ap.addr, "[1:2:3:4::]"); @@ -445,9 +444,7 @@ test_link_specifier(void *arg)
/* Test legacy. */ { - char *b64, buf[256]; uint8_t *id; - link_specifier_t *ls;
spec.type = LS_LEGACY_ID; memset(spec.u.legacy_id, 'Y', sizeof(spec.u.legacy_id)); @@ -473,6 +470,8 @@ test_link_specifier(void *arg) }
done: + link_specifier_free(ls); + tor_free(b64); smartlist_free(link_specifiers); }
tor-commits@lists.torproject.org