diff options
author | Nick Mathewson <nickm@torproject.org> | 2007-09-10 13:48:01 +0000 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2007-09-10 13:48:01 +0000 |
commit | 615d19fe4c34a0c270e16268eff135fb9e976eb1 (patch) | |
tree | de13b386296319ef35e61c2224fb43abfb6b5467 | |
parent | 6744ebe7b5efad0a8c46433042080199f1da8ec1 (diff) | |
download | tor-615d19fe4c34a0c270e16268eff135fb9e976eb1.tar tor-615d19fe4c34a0c270e16268eff135fb9e976eb1.tar.gz |
r15001@catbus: nickm | 2007-09-10 09:44:49 -0400
Fix a couple of memory leaks in eventdns.c; found by niels. Not backport candidates, since they only affect DNSPort users.
svn:r11413
-rw-r--r-- | ChangeLog | 2 | ||||
-rw-r--r-- | src/or/eventdns.c | 3 |
2 files changed, 4 insertions, 1 deletions
@@ -27,6 +27,8 @@ Changes in version 0.2.0.7-alpha - 2007-??-?? "experimental", since it seems to have worked fine for ages. - Fix a user-triggerable segfault in expand_filename(). (There isn't a way to trigger this remotely.) + - Fix a memory leak when freeing incomplete requests from DNSPort. + (Found by Niels Provos with valgrind.) o Code simplifications and refactoring: - Revamp file-writing logic so we don't need to have the entire contents diff --git a/src/or/eventdns.c b/src/or/eventdns.c index 5074bcd54..5f2ae9d96 100644 --- a/src/or/eventdns.c +++ b/src/or/eventdns.c @@ -1745,7 +1745,7 @@ server_request_free_answers(struct server_request *req) free(victim->name); if (victim->data) free(victim->data); - /* XXXX free(victim?) -NM */ + free(victim); victim = next; } *list = NULL; @@ -1761,6 +1761,7 @@ server_request_free(struct server_request *req) if (req->base.questions) { for (i = 0; i < req->base.nquestions; ++i) free(req->base.questions[i]); + free(req->base.questions); } if (req->port) { |