From: Noel Power Date: Wed, 22 May 2019 13:16:19 +0000 (+0000) Subject: lib/pthreadpool: cppcheck: Fix Memory leak X-Git-Tag: ldb-2.0.5~501 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4d095bd052cbe55c05835275eec8d9f2cee7f02e;p=thirdparty%2Fsamba.git lib/pthreadpool: cppcheck: Fix Memory leak Fixes lib/pthreadpool/tests.c:63: error: memleak: Memory leak: finished <--[cppcheck] Signed-off-by: Noel Power Reviewed-by: Andreas Schneider --- diff --git a/lib/pthreadpool/tests.c b/lib/pthreadpool/tests.c index d57754603a2..08cb59ecf59 100644 --- a/lib/pthreadpool/tests.c +++ b/lib/pthreadpool/tests.c @@ -60,6 +60,7 @@ static int test_jobs(int num_threads, int num_jobs) if (ret != 0) { fprintf(stderr, "pthreadpool_pipe_init failed: %s\n", strerror(ret)); + free(finished); return -1; } @@ -68,6 +69,7 @@ static int test_jobs(int num_threads, int num_jobs) if (ret != 0) { fprintf(stderr, "pthreadpool_pipe_add_job failed: " "%s\n", strerror(ret)); + free(finished); return -1; } } @@ -78,10 +80,12 @@ static int test_jobs(int num_threads, int num_jobs) if (ret < 0) { fprintf(stderr, "pthreadpool_pipe_finished_jobs " "failed: %s\n", strerror(-ret)); + free(finished); return -1; } if ((ret != 1) || (jobid >= num_jobs)) { fprintf(stderr, "invalid job number %d\n", jobid); + free(finished); return -1; } finished[jobid] += 1; @@ -91,6 +95,7 @@ static int test_jobs(int num_threads, int num_jobs) if (finished[i] != 1) { fprintf(stderr, "finished[%d] = %d\n", i, finished[i]); + free(finished); return -1; } } @@ -99,6 +104,7 @@ static int test_jobs(int num_threads, int num_jobs) if (ret != 0) { fprintf(stderr, "pthreadpool_pipe_destroy failed: %s\n", strerror(ret)); + free(finished); return -1; }