Browse Source

r8968@Kushana: nickm | 2006-09-26 17:53:27 -0400
Fix for reverse dns: only assume we will get an answer when the result was success.


svn:r8507

Nick Mathewson 19 years ago
parent
commit
cd2425ffa0
1 changed files with 7 additions and 2 deletions
  1. 7 2
      src/or/dns.c

+ 7 - 2
src/or/dns.c

@@ -861,8 +861,13 @@ add_answer_to_cache(const char *address, int is_reverse, uint32_t addr,
   strlcpy(resolve->address, address, sizeof(resolve->address));
   resolve->is_reverse = is_reverse;
   if (is_reverse) {
-    tor_assert(hostname);
-    resolve->result.hostname = tor_strdup(hostname);
+    if (outcome == DNS_RESOLVE_SUCCEEDED) {
+      tor_assert(hostname);
+      resolve->result.hostname = tor_strdup(hostname);
+    } else {
+      tor_assert(! hostname);
+      resolve->result.hostname = NULL;
+    }
   } else {
     tor_assert(!hostname);
     resolve->result.addr = addr;