]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
two ugly hacks to make my tor client start again. nick, these
authorRoger Dingledine <arma@torproject.org>
Tue, 16 Oct 2007 02:06:30 +0000 (02:06 +0000)
committerRoger Dingledine <arma@torproject.org>
Tue, 16 Oct 2007 02:06:30 +0000 (02:06 +0000)
are for you.

svn:r11960

src/or/networkstatus.c

index 672b1fbc5b1f6a9a0732e7b9a9544f26ef5e4d13..32f61fc86d283f9d8a06ace1c25a655e38c6aaad 100644 (file)
@@ -864,7 +864,8 @@ networkstatus_copy_old_consensus_info(networkstatus_vote_t *new_c,
   SMARTLIST_FOREACH(new_c->routerstatus_list, routerstatus_t *, rs_new,
   {
     int r;
-    while ((r = memcmp(rs_old->identity_digest, rs_new->identity_digest,
+    while (rs_old && /* XXX020 Nick, solve this: sometimes rs_old is NULL */
+           (r = memcmp(rs_old->identity_digest, rs_new->identity_digest,
                        DIGEST_LEN))<0) {
       if (idx == smartlist_len(old_c->routerstatus_list))
         goto done;
@@ -872,6 +873,9 @@ networkstatus_copy_old_consensus_info(networkstatus_vote_t *new_c,
     }
     if (r>0)
       continue;
+    if (r<0) /* XXX020 Nick, solve this: sometimes it's -1 which doesn't
+              * match your comment below. */
+      continue;
     /* Okay, so we're looking at the same identity. */
     rs_new->name_lookup_warned = rs_old->name_lookup_warned;
     rs_new->last_dir_503_at = rs_old->last_dir_503_at;