]> git.ipfire.org Git - people/ms/u-boot.git/blobdiff - tools/env/fw_env.c
tools/env: avoid memory leak in fw_setenv
[people/ms/u-boot.git] / tools / env / fw_env.c
index 299e0c9608bb2bc3b9e0298929726c14a337f96c..286165618304f9259daadde0c8262f10265539ca 100644 (file)
@@ -473,6 +473,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;
        int ret;
@@ -507,11 +508,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;
                }