]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
More asserts in dns.c
authorNick Mathewson <nickm@torproject.org>
Thu, 27 Jul 2006 18:35:56 +0000 (18:35 +0000)
committerNick Mathewson <nickm@torproject.org>
Thu, 27 Jul 2006 18:35:56 +0000 (18:35 +0000)
svn:r6926

src/or/dns.c

index 3d76ff762e2a7b42741965d6bc83744751c71867..32df394a8626651ba7d72631474bd0153c1ba64b 100644 (file)
@@ -224,10 +224,11 @@ static cached_resolve_t *newest_cached_resolve = NULL;
 static void
 purge_expired_resolves(uint32_t now)
 {
-  cached_resolve_t *resolve;
+  cached_resolve_t *resolve, *removed;
   pending_connection_t *pend;
   edge_connection_t *pendconn;
 
+  assert_cache_ok();
   /* this is fast because the linked list
    * oldest_cached_resolve is ordered by when they came in.
    */
@@ -264,10 +265,12 @@ purge_expired_resolves(uint32_t now)
     if (!oldest_cached_resolve) /* if there are no more, */
       newest_cached_resolve = NULL; /* then make sure the list's tail knows
                                      * that too */
-    HT_REMOVE(cache_map, &cache_root, resolve);
+    removed = HT_REMOVE(cache_map, &cache_root, resolve);
+    tor_assert(removed == resolve);
     resolve->magic = 0xF0BBF0BB;
     tor_free(resolve);
   }
+  assert_cache_ok();
 }
 
 /** Send a response to the RESOVLE request of a connection. answer_type must
@@ -595,7 +598,8 @@ dns_purge_resolve(cached_resolve_t *resolve)
   }
 
   /* remove resolve from the map */
-  HT_REMOVE(cache_map, &cache_root, resolve);
+  tmp = HT_REMOVE(cache_map, &cache_root, resolve);
+  tor_assert(tmp == resolve);
   resolve->magic = 0xAAAAAAAA;
   tor_free(resolve);
 }