From: teor Date: Sun, 8 Feb 2015 12:41:37 +0000 (+1100) Subject: Avoid calling SMARTLIST_FOREACH on a NULL smartlist in tests X-Git-Tag: tor-0.2.6.3-alpha~64^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d0759da14eeaefb186d8d514f971b0b1a0618a0f;p=thirdparty%2Ftor.git Avoid calling SMARTLIST_FOREACH on a NULL smartlist in tests Check if each smartlist is NULL before calling SMARTLIST_FOREACH on it. Bug discovered by the clang static analyzer. Apple clang 600.0.56 (LLVM 3.5svn) on x86_64-apple-darwin14.1.0. --- diff --git a/src/test/test_address.c b/src/test/test_address.c index f98cc12b62..7f7347fa88 100644 --- a/src/test/test_address.c +++ b/src/test/test_address.c @@ -207,9 +207,10 @@ test_address_ifaddrs_to_smartlist(void *arg) tor_free(ifa_ipv4); tor_free(ifa_ipv6); tor_free(sockaddr_to_check); - SMARTLIST_FOREACH(smartlist, tor_addr_t *, t, tor_free(t)); - smartlist_free(smartlist); - + if (smartlist) { + SMARTLIST_FOREACH(smartlist, tor_addr_t *, t, tor_free(t)); + smartlist_free(smartlist); + } return; } @@ -442,8 +443,10 @@ test_address_get_if_addrs_ioctl(void *arg) tt_assert(smartlist_contains_localhost_tor_addr(result)); done: - SMARTLIST_FOREACH(result, tor_addr_t *, t, tor_free(t)); - smartlist_free(result); + if (result) { + SMARTLIST_FOREACH(result, tor_addr_t *, t, tor_free(t)); + smartlist_free(result); + } return; }