Loading src/or/dns.c +9 −6 Changes for src/or/dns.c: 9 added lines, 6 removed lines. Original line number Diff line number Diff line Loading @@ -536,8 +536,8 @@ dns_resolve(edge_connection_t *exitconn) r = dns_resolve_impl(exitconn, is_resolve, oncirc, &hostname); switch (r) { case 1: /* We got an answer without a lookup. (Either the answer was * cached, or it was obvious (like an IP address).)*/ /* We got an answer without a lookup -- either the answer was * cached, or it was obvious (like an IP address). */ if (is_resolve) { /* Send the answer back right now, and detach. */ if (hostname) Loading Loading @@ -578,7 +578,7 @@ dns_resolve(edge_connection_t *exitconn) // If it's marked for close, it's on closeable_connection_lst in // main.c. If it's on the closeable list, it will get freed from // main.c. -NM // "<armadev> If that's true, there are other bugs arond, where we // "<armadev> If that's true, there are other bugs around, where we // don't check if it's marked, and will end up double-freeing." } break; Loading Loading @@ -822,9 +822,12 @@ dns_cancel_pending_resolve(const char *address) strlcpy(search.address, address, sizeof(search.address)); resolve = HT_FIND(cache_map, &cache_root, &search); if (!resolve || resolve->state != CACHE_STATE_PENDING) { log_notice(LD_BUG,"Address %s is not pending. Dropping.", escaped_safe_str(address)); if (!resolve) return; if(resolve->state != CACHE_STATE_PENDING) { log_notice(LD_BUG,"Address %s is not pending (state %d). Dropping.", escaped_safe_str(address), resolve->state); return; } Loading Loading
src/or/dns.c +9 −6 Changes for src/or/dns.c: 9 added lines, 6 removed lines. Original line number Diff line number Diff line Loading @@ -536,8 +536,8 @@ dns_resolve(edge_connection_t *exitconn) r = dns_resolve_impl(exitconn, is_resolve, oncirc, &hostname); switch (r) { case 1: /* We got an answer without a lookup. (Either the answer was * cached, or it was obvious (like an IP address).)*/ /* We got an answer without a lookup -- either the answer was * cached, or it was obvious (like an IP address). */ if (is_resolve) { /* Send the answer back right now, and detach. */ if (hostname) Loading Loading @@ -578,7 +578,7 @@ dns_resolve(edge_connection_t *exitconn) // If it's marked for close, it's on closeable_connection_lst in // main.c. If it's on the closeable list, it will get freed from // main.c. -NM // "<armadev> If that's true, there are other bugs arond, where we // "<armadev> If that's true, there are other bugs around, where we // don't check if it's marked, and will end up double-freeing." } break; Loading Loading @@ -822,9 +822,12 @@ dns_cancel_pending_resolve(const char *address) strlcpy(search.address, address, sizeof(search.address)); resolve = HT_FIND(cache_map, &cache_root, &search); if (!resolve || resolve->state != CACHE_STATE_PENDING) { log_notice(LD_BUG,"Address %s is not pending. Dropping.", escaped_safe_str(address)); if (!resolve) return; if(resolve->state != CACHE_STATE_PENDING) { log_notice(LD_BUG,"Address %s is not pending (state %d). Dropping.", escaped_safe_str(address), resolve->state); return; } Loading