From 353abd98306f448adf474a44850838f0238505e2 Mon Sep 17 00:00:00 2001 From: Roger Dingledine Date: Wed, 22 Aug 2007 03:21:51 +0000 Subject: [PATCH] backport candidate: Stop leaking part of the descriptor when we run into a particularly unparseable piece of it. Bugfix on 0.1.2.x. svn:r11249 --- ChangeLog | 2 ++ src/or/routerparse.c | 1 + 2 files changed, 3 insertions(+) diff --git a/ChangeLog b/ChangeLog index d7479343ea..2c9a55602b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -26,6 +26,8 @@ Changes in version 0.2.0.6-alpha - 2007-??-?? new CookieAuthFile option. Reported by Matt Edman. - Fix a minor memory leak when we fail to find enough suitable servers to choose a circuit. Bugfix on 0.1.2.x. + - Stop leaking part of the descriptor when we run into a particularly + unparseable piece of it. Bugfix on 0.1.2.x. o Minor features (misc): - Optionally (if built with -DEXPORTMALLINFO) export the output diff --git a/src/or/routerparse.c b/src/or/routerparse.c index ccf3e38ddb..29d9fddf2b 100644 --- a/src/or/routerparse.c +++ b/src/or/routerparse.c @@ -2650,6 +2650,7 @@ tokenize_string(const char *start, const char *end, smartlist_t *out, tok = get_next_token(s, end, table); if (tok->tp == _ERR) { log_warn(LD_DIR, "parse error: %s", tok->error); + token_free(tok); return -1; } ++counts[tok->tp];