[or-cvs] Fix segfault and memleak when getting many compressed serve...

Nick Mathewson nickm at seul.org
Thu Sep 8 22:00:31 UTC 2005


Update of /home/or/cvsroot/tor/src/or
In directory moria:/tmp/cvs-serv25149/src/or

Modified Files:
	directory.c 
Log Message:
Fix segfault and memleak when getting many compressed server descs.

Index: directory.c
===================================================================
RCS file: /home/or/cvsroot/tor/src/or/directory.c,v
retrieving revision 1.267
retrieving revision 1.268
diff -u -d -r1.267 -r1.268
--- directory.c	8 Sep 2005 21:46:31 -0000	1.267
+++ directory.c	8 Sep 2005 22:00:29 -0000	1.268
@@ -1222,16 +1222,17 @@
         /* XXXX NM This could be way more efficiently handled. */
         if (tor_gzip_compress(&compressed, &compressed_len,
                               inp, cp-inp, ZLIB_METHOD)<0) {
-          tor_free(cp);
+          tor_free(inp);
           smartlist_free(descs);
           return -1;
         }
-        tor_free(cp);
+        tor_free(inp);
         tor_snprintf(tmp, sizeof(tmp), "HTTP/1.0 200 OK\r\nDate: %s\r\nContent-Length: %d\r\nContent-Type: application/octet-stream\r\n\r\n",
                      date,
                      (int)compressed_len);
         connection_write_to_buf(tmp, strlen(tmp), conn);
         connection_write_to_buf(compressed, compressed_len, conn);
+        tor_free(compressed);
       } else {
         tor_snprintf(tmp, sizeof(tmp), "HTTP/1.0 200 OK\r\nDate: %s\r\nContent-Length: %d\r\nContent-Type: application/octet-stream\r\n\r\n",
                      date,



More information about the tor-commits mailing list