From: Sebastian Hahn Date: Sat, 26 Sep 2009 13:38:52 +0000 (+0200) Subject: Fix memory leak X-Git-Tag: tor-0.2.2.4-alpha~28 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7f1f6984daba22c4e95d9338a4b4433c142ebd23;p=thirdparty%2Ftor.git Fix memory leak Some memory could be lost in the error case of circuit_build_times_parse_state. Found by Coverity --- diff --git a/ChangeLog b/ChangeLog index bf1a4ca9d0..451a20c30d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -17,6 +17,8 @@ Changes in version 0.2.2.4-alpha - 2009-??-?? o Minor bugfixes: - Fix a couple of smaller issues with gathering statistics. Bugfixes on 0.2.2.1-alpha. + - Fix two memory leaks in the error case of + circuit_build_times_parse_state. Bugfix on 0.2.2.2-alpha. Changes in version 0.2.2.3-alpha - 2009-09-23 o Major bugfixes: diff --git a/src/or/circuitbuild.c b/src/or/circuitbuild.c index adf53a8b10..5c3a86c123 100644 --- a/src/or/circuitbuild.c +++ b/src/or/circuitbuild.c @@ -427,6 +427,8 @@ circuit_build_times_parse_state(circuit_build_times_t *cbt, if (!ok) { *msg = tor_strdup("Unable to parse circuit build times: " "Unparsable bin number"); + SMARTLIST_FOREACH(args, char*, cp, tor_free(cp)); + smartlist_free(args); break; } count = (uint32_t)tor_parse_ulong(count_str, 0, 0, @@ -434,6 +436,8 @@ circuit_build_times_parse_state(circuit_build_times_t *cbt, if (!ok) { *msg = tor_strdup("Unable to parse circuit build times: " "Unparsable bin count"); + SMARTLIST_FOREACH(args, char*, cp, tor_free(cp)); + smartlist_free(args); break; }