From 5a1b50dcae0837ff7fb9afc245c74bf9f371b35d Mon Sep 17 00:00:00 2001 From: Kevin Murray Date: Mon, 3 Mar 2014 11:38:50 +1100 Subject: [PATCH] fixes to address.[ch] and test_addr.c Some changes to behaviour of new functions broke tests/fixes previously written by daube. This fixes the tests/fixes. --- src/common/address.c | 2 -- src/common/address.h | 2 +- src/test/test_addr.c | 5 +---- 3 files changed, 2 insertions(+), 7 deletions(-) diff --git a/src/common/address.c b/src/common/address.c index e913ac9..133c2d0 100644 --- a/src/common/address.c +++ b/src/common/address.c @@ -1485,7 +1485,6 @@ get_stable_interface_address6(int severity, sa_family_t family, SMARTLIST_FOREACH_BEGIN(list, tor_addr_t *, a) { if (tor_addr_eq(last_discovered_ipv4_address, a)) { tor_addr_copy(addr, a); - tor_free(first_address); SMARTLIST_FOREACH(list, tor_addr_t *, a, tor_free(a)); smartlist_free(list); return 0; @@ -1496,7 +1495,6 @@ get_stable_interface_address6(int severity, sa_family_t family, SMARTLIST_FOREACH_BEGIN(list, tor_addr_t *, a) { if (tor_addr_eq(last_discovered_ipv6_address, a)) { tor_addr_copy(addr, a); - tor_free(first_address); /* TODO: Is this a good idea? */ SMARTLIST_FOREACH(list, tor_addr_t *, a, tor_free(a)); smartlist_free(list); return 0; diff --git a/src/common/address.h b/src/common/address.h index 4a3eb0e..d74b2f9 100644 --- a/src/common/address.h +++ b/src/common/address.h @@ -230,7 +230,7 @@ char *tor_dup_ip(uint32_t addr) ATTR_MALLOC; tor_addr_port_t *tor_addr_port_new(const tor_addr_t *addr, uint16_t port); -tor_addr_t *get_first_address_by_af(smartlist_t *list, sa_family_t family); +const tor_addr_t *get_first_address_by_af(smartlist_t *list, sa_family_t family); #endif diff --git a/src/test/test_addr.c b/src/test/test_addr.c index d3bc352..6a97e41 100644 --- a/src/test/test_addr.c +++ b/src/test/test_addr.c @@ -1002,7 +1002,7 @@ test_get_first_address_by_af(void *data) { smartlist_t *addrlist = smartlist_new(); tor_addr_t *tmpaddr = tor_calloc(1, sizeof(*tmpaddr)); - tor_addr_t *resaddr = NULL; + const tor_addr_t *resaddr = NULL; /* Add 3 addresses to smartlist: two IPv4, one IPv6. */ tor_addr_from_ipv4n(tmpaddr, 13<<24 | 11<<16 | 9<<8 | 7); /* 13.11.9.7 */ @@ -1022,15 +1022,12 @@ test_get_first_address_by_af(void *data) /* Should be the first addr, 13.11.9.7 */ tt_assert(tor_addr_eq(resaddr, (tor_addr_t*) smartlist_get(addrlist, 0))); tt_int_op(tor_addr_family(resaddr), ==, AF_INET); - tor_free(resaddr); resaddr = get_first_address_by_af(addrlist, AF_INET6); /* Should be the IPv6 addr */ tt_assert(tor_addr_eq(resaddr, (tor_addr_t*) smartlist_get(addrlist, 2))); tt_int_op(tor_addr_family(resaddr), ==, AF_INET6); done: - tor_free(resaddr); -/* if (addrlist) SMARTLIST_FOREACH(addrlist, tor_addr_t *, a, printf("%p\n", a)); */ if (addrlist) SMARTLIST_FOREACH(addrlist, tor_addr_t *, a, tor_free(a)); smartlist_free(addrlist); } -- 1.8.5.3