Browse Source

r9709@catbus: nickm | 2007-01-21 21:34:03 -0500
Fix memory leak on networkstatus 503.


svn:r9380

Nick Mathewson 18 years ago
parent
commit
033e20ca0b
2 changed files with 5 additions and 1 deletions
  1. 2 0
      ChangeLog
  2. 3 1
      src/or/directory.c

+ 2 - 0
ChangeLog

@@ -29,6 +29,8 @@ Changes in version 0.1.2.7-alpha - 2007-??-??
       buckets go absurdly negative.
     - Detect and reject malformed DNS responses containing circular
       pointer loops.
+    - Fix a memory leak when sending a 503 response for a networkstatus
+      request.
 
   o Minor bugfixes:
     - When computing clock skew from directory HTTP headers, consider what

+ 3 - 1
src/or/directory.c

@@ -1689,9 +1689,11 @@ directory_handle_command_get(dir_connection_t *conn, char *headers,
     dlen = dirserv_estimate_data_size(dir_fps, 0, deflated);
     if (global_write_bucket_low(dlen, 2)) {
       log_info(LD_DIRSERV,
-               "Client asked for server descriptors, but we've been "
+               "Client asked for network status lists, but we've been "
                "writing too many bytes lately. Sending 503 Dir busy.");
       write_http_status_line(conn, 503, "Directory busy, try again later");
+      SMARTLIST_FOREACH(dir_fps, char *, cp, tor_free(cp));
+      smartlist_free(dir_fps);
       return 0;
     }