aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorteor <teor2345@gmail.com>2015-02-08 23:41:37 +1100
committerteor <teor2345@gmail.com>2015-02-08 23:41:37 +1100
commitd0759da14eeaefb186d8d514f971b0b1a0618a0f (patch)
tree415718118c90f54af5d60d8ff26bac73390d41c8 /src
parentb101f4e98ce811aee729c31f62ec5dd1cfe44e85 (diff)
downloadtor-d0759da14eeaefb186d8d514f971b0b1a0618a0f.tar.gz
tor-d0759da14eeaefb186d8d514f971b0b1a0618a0f.zip
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.
Diffstat (limited to 'src')
-rw-r--r--src/test/test_address.c13
1 files changed, 8 insertions, 5 deletions
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;
}