瀏覽代碼

another minor memory leak
make dnsconn->address reflect what it's currently resolving


svn:r624

Roger Dingledine 22 年之前
父節點
當前提交
9d3f2b232b
共有 1 個文件被更改,包括 3 次插入2 次删除
  1. 3 2
      src/or/dns.c

+ 3 - 2
src/or/dns.c

@@ -165,6 +165,7 @@ static int assign_to_dnsworker(connection_t *exitconn) {
     return -1;
   }
 
+  free(dnsconn->address);
   dnsconn->address = tor_strdup(exitconn->address);
   dnsconn->state = DNSWORKER_STATE_BUSY;
   num_dnsworkers_busy++;
@@ -312,7 +313,7 @@ int connection_dns_process_inbuf(connection_t *conn) {
   dns_found_answer(conn->address, answer);
 
   free(conn->address);
-  conn->address = NULL;
+  conn->address = strdup("<idle>");
   conn->state = DNSWORKER_STATE_IDLE;
   num_dnsworkers_busy--;
 
@@ -381,7 +382,7 @@ static int spawn_dnsworker(void) {
 
   /* set up conn so it's got all the data we need to remember */
   conn->s = fd[0];
-  conn->address = tor_strdup("localhost");
+  conn->address = tor_strdup("<unused>");
 
   if(connection_add(conn) < 0) { /* no space, forget it */
     log_fn(LOG_WARN,"connection_add failed. Giving up.");