From 0b2b7ef3676920c120d9b329e5b65924650ab44c Mon Sep 17 00:00:00 2001 From: Ayush Mittal Date: Thu, 18 Feb 2021 21:59:03 -0700 Subject: [PATCH] [PATCH v2] libiberty(argv.c): Fix memory leak in expandargv libiberty: * argv.c (expandargv): free allocated buffer if read fails. --- libiberty/argv.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libiberty/argv.c b/libiberty/argv.c index cd97f9071c2..48dcd102461 100644 --- a/libiberty/argv.c +++ b/libiberty/argv.c @@ -442,7 +442,10 @@ expandargv (int *argcp, char ***argvp) due to CR/LF->CR translation when reading text files. That does not in-and-of itself indicate failure. */ && ferror (f)) - goto error; + { + free (buffer); + goto error; + } /* Add a NUL terminator. */ buffer[len] = '\0'; /* If the file is empty or contains only whitespace, buildargv would -- 2.30.2