diff options
author | teor <teor2345@gmail.com> | 2015-02-08 23:41:37 +1100 |
---|---|---|
committer | teor <teor2345@gmail.com> | 2015-02-08 23:41:37 +1100 |
commit | d0759da14eeaefb186d8d514f971b0b1a0618a0f (patch) | |
tree | 415718118c90f54af5d60d8ff26bac73390d41c8 /src | |
parent | b101f4e98ce811aee729c31f62ec5dd1cfe44e85 (diff) | |
download | tor-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.c | 13 |
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; } |