]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Avoid calling SMARTLIST_FOREACH on a NULL smartlist in tests
authorteor <teor2345@gmail.com>
Sun, 8 Feb 2015 12:41:37 +0000 (23:41 +1100)
committerteor <teor2345@gmail.com>
Sun, 8 Feb 2015 12:41:37 +0000 (23:41 +1100)
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.

src/test/test_address.c

index f98cc12b62601a03fc48f530b3b7b91fc20aacef..7f7347fa880a69e4f5053a67b09ea30f67b72730 100644 (file)
@@ -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;
 }