From d724f41bdf92d2cf1c98778131eeb1d91c8c633e Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Fri, 30 Jan 2004 21:16:51 +0000 Subject: [PATCH] Another related leak svn:r1028 --- trunk/src/or/routerlist.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/trunk/src/or/routerlist.c b/trunk/src/or/routerlist.c index 871b34b11f..1c658278b7 100644 --- a/trunk/src/or/routerlist.c +++ b/trunk/src/or/routerlist.c @@ -869,18 +869,21 @@ router_add_exit_policy_from_string(routerinfo_t *router, const char *s) tmp[len+1]='\0'; if (router_get_next_token(&cp, &tok)) { log_fn(LOG_WARN, "Error reading exit policy: %s", tok.val.error); - free(tmp); - return -1; + goto err; } if (tok.tp != K_ACCEPT && tok.tp != K_REJECT) { log_fn(LOG_WARN, "Expected 'accept' or 'reject'."); - free(tmp); - return -1; + goto err; } /* Now that we've gotten an exit policy, add it to the router. */ r = router_add_exit_policy(router, &tok); + goto done; + err: + r = -1; + done: free(tmp); + router_release_token(&tok); return r; }