Commit ddd0054a authored by Roger Dingledine's avatar Roger Dingledine
Browse files

point out two remote crash bugs, a memory leak, and a few other

items we should probably look into.


svn:r10227
parent 0b661f65
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -388,6 +388,8 @@ mp_pool_clean(mp_pool_t *pool, int n)
    n = pool->min_empty_chunks + (-n);
    if (n < pool->n_empty_chunks)
      pool->min_empty_chunks = n;
    /* XXX020 don't we want some sort of return here, given the
     * assert that follows? -RD */
  }
  ASSERT(n>=0);

+2 −0
Original line number Diff line number Diff line
@@ -3119,6 +3119,8 @@ options_init_from_torrc(int argc, char **argv)

  if (argc > 1 && (!strcmp(argv[1],"--version"))) {
    char vbuf[128];
    // XXX020 below, tor_svn_revision will always be defined, right?
    // So we can take out that check? Also in router.c. -RD
    if (tor_svn_revision != NULL && strlen(tor_svn_revision)) {
      tor_snprintf(vbuf, sizeof(vbuf), " (r%s)", tor_svn_revision);
    } else {
+3 −1
Original line number Diff line number Diff line
@@ -559,8 +559,10 @@ dns_resolve(edge_connection_t *exitconn)
      }
      //circuit_detach_stream(TO_CIRCUIT(oncirc), exitconn);
      exitconn->on_circuit = NULL;
      if (!exitconn->_base.marked_for_close)
      if (!exitconn->_base.marked_for_close) {
        connection_free(TO_CONN(exitconn));
        //XXX020 ... and we just leak exitconn otherwise? -RD
      }
      break;
    default:
      tor_assert(0);
+1 −1
Original line number Diff line number Diff line
@@ -68,7 +68,7 @@ static time_t time_of_last_signewnym = 0;
static int signewnym_is_pending = 0;

/** Array of all open connections.  The first n_conns elements are valid. */
/*XXXX020 Should we just use a smartlist here? */
/*XXXX020 Should we just use a smartlist here? -NM Sure. -RD */
static connection_t *connection_array[MAXCONNECTIONS+1] =
        { NULL };
/** List of connections that have been marked for close and need to be freed
+2 −0
Original line number Diff line number Diff line
@@ -4857,6 +4857,8 @@ routerinfo_incompatible_with_extrainfo(routerinfo_t *ri, extrainfo_t *ei)
  if (ei->bad_sig)
    return 1;

  /* XXX020 below we should explain why this is strcmp and not strcasecmp,
   * since it differs from how we usually compare nicknames. -RD */
  if (strcmp(ri->nickname, ei->nickname) ||
      memcmp(ri->cache_info.identity_digest, ei->cache_info.identity_digest,
             DIGEST_LEN))
Loading