From ad7797e2cf519fc428884473cfd31696bb205910 Mon Sep 17 00:00:00 2001 From: Paulo Matos Date: Tue, 25 Sep 2018 09:58:26 +0200 Subject: [PATCH] Fix memory leak Free env variable if it was allocated. --- racket/src/rktio/rktio_process.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/racket/src/rktio/rktio_process.c b/racket/src/rktio/rktio_process.c index 0b922055d2..f5c6fb616d 100644 --- a/racket/src/rktio/rktio_process.c +++ b/racket/src/rktio/rktio_process.c @@ -1434,6 +1434,10 @@ rktio_process_result_t *rktio_process(rktio_t *rktio, } else { RKTIO_CLOSE_SUBPROCESS_COPY(err_subprocess, 1); } + + if (env) + free(env); + return NULL; case 0: /* child */ @@ -1497,7 +1501,7 @@ rktio_process_result_t *rktio_process(rktio_t *rktio, if (err) err = errno; - if (envvars) + if (env) free(env); /* If we get here it failed; give up */ @@ -1519,7 +1523,8 @@ rktio_process_result_t *rktio_process(rktio_t *rktio, /* Close unneeded descriptors */ /*--------------------------------------*/ - free(env); + if (env) + free(env); if (!stdin_fd) RKTIO_CLOSE(to_subprocess[0]);