From 7ba1f3911691d211a0297a4ec486d40c3d70bd8c Mon Sep 17 00:00:00 2001 From: Martin Kepplinger Date: Tue, 13 Nov 2018 10:09:29 +0100 Subject: libtorrunner: fix memory leak in child() error path This avoids leaking memory in case libtorrunner's child() function fails. --- src/tools/tor_runner.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src') diff --git a/src/tools/tor_runner.c b/src/tools/tor_runner.c index 9ed2ee5775..7c43b0d244 100644 --- a/src/tools/tor_runner.c +++ b/src/tools/tor_runner.c @@ -93,6 +93,7 @@ child(const tor_main_configuration_t *cfg) int rv = execv(BINDIR "/tor", args); if (rv < 0) { + free(args); exit(254); } else { abort(); /* Unreachable */ -- cgit v1.2.3-54-g00ecf From db3acb3aa398bda46435d94427967410da173222 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Wed, 14 Nov 2018 07:54:57 -0500 Subject: Work around check-spaces. --- src/tools/tor_runner.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/tools/tor_runner.c b/src/tools/tor_runner.c index 7c43b0d244..cad57a7665 100644 --- a/src/tools/tor_runner.c +++ b/src/tools/tor_runner.c @@ -80,6 +80,7 @@ tor_run_main(const tor_main_configuration_t *cfg) /* circumlocution to avoid getting warned about calling calloc instead of * tor_calloc. */ #define real_calloc calloc +#define real_free free static void child(const tor_main_configuration_t *cfg) @@ -93,10 +94,9 @@ child(const tor_main_configuration_t *cfg) int rv = execv(BINDIR "/tor", args); if (rv < 0) { - free(args); + real_free(args); exit(254); } else { abort(); /* Unreachable */ } } - -- cgit v1.2.3-54-g00ecf