Browse Source

r11548@catbus: nickm | 2007-01-27 00:15:47 -0500
Fix two assert bugs encountered when trying ipv6 lookups with eventdns code.


svn:r9430

Nick Mathewson 18 years ago
parent
commit
152547be49
2 changed files with 3 additions and 2 deletions
  1. 1 1
      ChangeLog
  2. 2 1
      src/or/eventdns.c

+ 1 - 1
ChangeLog

@@ -41,7 +41,7 @@ Changes in version 0.1.2.7-alpha - 2007-01-26
       an incorrect number of bytes. (Previously, we would ignore the
       extra bytes.)
     - Fix as-yet-unused reverse IPv6 lookup code so it sends nybbles
-      in the correct order.
+      in the correct order, and doesn't crash.
     - Free memory held in recently-completed DNS lookup attempts on exit.
       This was not a memory leak, but may have been hiding memory leaks.
     - Don't launch requests for descriptors unless we have networkstatuses

+ 2 - 1
src/or/eventdns.c

@@ -669,6 +669,7 @@ reply_callback(struct request *const req, u32 ttl, u32 err, struct reply *reply)
 							   req->user_pointer);
 		else
 			req->user_callback(err, 0, 0, 0, NULL, req->user_pointer);
+		return;
 	}
 	assert(0);
 }
@@ -2416,7 +2417,7 @@ search_make_new(const struct search_state *const state, int n, const char *const
 
 static int
 search_request_new(int type, const char *const name, int flags, evdns_callback_type user_callback, void *user_arg) {
-	assert(type == TYPE_A);
+	assert(type == TYPE_A || type == TYPE_AAAA);
 	if ( ((flags & DNS_QUERY_NO_SEARCH) == 0) &&
 		 global_search_state &&
 		 global_search_state->num_domains) {