[tor-commits] [tor/master] Avoid calling SMARTLIST_FOREACH on a NULL smartlist in tests

nickm at torproject.org nickm at torproject.org
Tue Feb 10 06:35:47 UTC 2015


commit d0759da14eeaefb186d8d514f971b0b1a0618a0f
Author: teor <teor2345 at gmail.com>
Date:   Sun Feb 8 23:41:37 2015 +1100

    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.
---
 src/test/test_address.c |   13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/src/test/test_address.c b/src/test/test_address.c
index f98cc12..7f7347f 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;
 }
 





More information about the tor-commits mailing list