From ce2f5800177c36451da44345f7ab408df240ff82 Mon Sep 17 00:00:00 2001 From: Joe Hershberger Date: Mon, 15 Oct 2012 15:29:24 +0000 Subject: [PATCH] tools/env: Fix variable delete operation Fix crash introduced by a073d63a36524453a817ab029fad5b188f46127e when attempting to delete a variable. Signed-off-by: Joe Hershberger --- tools/env/fw_env.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tools/env/fw_env.c b/tools/env/fw_env.c index ab8c15d..97328bb 100644 --- a/tools/env/fw_env.c +++ b/tools/env/fw_env.c @@ -494,6 +494,8 @@ int fw_setenv(int argc, char *argv[]) char *val = argv[i]; size_t val_len = strlen(val); + if (value) + value[len - 1] = ' '; value = realloc(value, len + val_len + 1); if (!value) { fprintf(stderr, @@ -504,9 +506,8 @@ int fw_setenv(int argc, char *argv[]) memcpy(value + len, val, val_len); len += val_len; - value[len++] = ' '; + value[len++] = '\0'; } - value[len - 1] = '\0'; fw_env_write(name, value);