From mboxrd@z Thu Jan 1 00:00:00 1970 From: Heinrich at lists.denx.de Date: Sat, 15 Apr 2017 12:56:43 +0200 Subject: [U-Boot] [PATCH 1/1] tools/env: avoid memory leak in fw_setenv Message-ID: <20170415105643.16884-1-xypron.glpk@gmx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de From: Heinrich Schuchardt If realloc fails we should release the old buffer. Signed-off-by: Heinrich Schuchardt --- tools/env/fw_env.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tools/env/fw_env.c b/tools/env/fw_env.c index 862a0b1a02..31c18d73bc 100644 --- a/tools/env/fw_env.c +++ b/tools/env/fw_env.c @@ -469,6 +469,7 @@ int fw_setenv(int argc, char *argv[], struct env_opts *opts) int i; size_t len; char *name, **valv; + char *oldval; char *value = NULL; int valc; @@ -500,11 +501,13 @@ int fw_setenv(int argc, char *argv[], struct env_opts *opts) if (value) value[len - 1] = ' '; + oldval = value; value = realloc(value, len + val_len + 1); if (!value) { fprintf(stderr, "Cannot malloc %zu bytes: %s\n", len, strerror(errno)); + free(oldval); return -1; } -- 2.11.0