From: Rosen Penev Date: Mon, 23 Feb 2026 02:06:07 +0000 (-0800) Subject: nvram: use strdup X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F22370%2Fhead;p=thirdparty%2Fopenwrt.git nvram: use strdup No need for malloc + strcpy. Signed-off-by: Rosen Penev Link: https://github.com/openwrt/openwrt/pull/22370 Signed-off-by: Jonas Jelonek --- diff --git a/package/utils/nvram/src/cli.c b/package/utils/nvram/src/cli.c index 224a2b7e266..c3ab105a0ed 100644 --- a/package/utils/nvram/src/cli.c +++ b/package/utils/nvram/src/cli.c @@ -91,14 +91,14 @@ static int do_unset(nvram_handle_t *nvram, const char *var) static int do_set(nvram_handle_t *nvram, const char *pair) { char *val = strstr(pair, "="); - char var[strlen(pair)]; + char *var; int stat = 1; - if( val != NULL ) - { - memset(var, 0, sizeof(var)); - strncpy(var, pair, (int)(val-pair)); - stat = nvram_set(nvram, var, (char *)(val + 1)); + if (val) { + var = strndup(pair, val - pair); + if (var) + stat = nvram_set(nvram, var, (char *)(val + 1)); + free(var); } return stat; diff --git a/package/utils/nvram/src/nvram.c b/package/utils/nvram/src/nvram.c index 86393d4ec93..f2a4d0589f2 100644 --- a/package/utils/nvram/src/nvram.c +++ b/package/utils/nvram/src/nvram.c @@ -448,12 +448,9 @@ char * nvram_find_mtd(void) sprintf(dev, "/dev/mtdblock%d", i); if( stat(dev, &s) > -1 && (s.st_mode & S_IFBLK) ) { - path = malloc(strlen(dev) + 1); - if(path) - { - strncpy(path, dev, strlen(dev)+1); + path = strdup(dev); + if (path) break; - } } } }