Fix a mem leak in the ocsp app
authorMatt Caswell <matt@openssl.org>
Mon, 1 Oct 2018 11:06:06 +0000 (12:06 +0100)
committerMatt Caswell <matt@openssl.org>
Tue, 2 Oct 2018 09:58:05 +0000 (10:58 +0100)
Free memory allocated in the parent process that is not needed in the
child. We also free it in the parent. Technically this isn't really
required since we end up calling exit() soon afterwards - but to
prevent false positives we free it anyway.

Fixes a Coverity issue.

Reviewed-by: Tim Hudson <tjh@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/7335)

(cherry picked from commit c20a76f695922f409c316399f7290530f7728f19)

apps/ocsp.c

index eb822c2696eb5cff877f109c4f89c870cc1f1390..7fd78624bbcca18c614c5a7cf6f7eaa93ee233cb 100644 (file)
@@ -950,6 +950,7 @@ static void spawn_loop(void)
             sleep(30);
             break;
         case 0:             /* child */
+            OPENSSL_free(kidpids);
             signal(SIGINT, SIG_DFL);
             signal(SIGTERM, SIG_DFL);
             if (termsig)
@@ -976,6 +977,7 @@ static void spawn_loop(void)
     }
 
     /* The loop above can only break on termsig */
+    OPENSSL_free(kidpids);
     syslog(LOG_INFO, "terminating on signal: %d", termsig);
     killall(0, kidpids);
 }