nvram: use strdup

No need for malloc + strcpy.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22370
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
This commit is contained in:
Rosen Penev
2026-02-22 18:06:07 -08:00
committed by Jonas Jelonek
parent 113d3edce0
commit f079f0252b
2 changed files with 8 additions and 11 deletions
+6 -6
View File
@@ -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;
+2 -5
View File
@@ -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;
}
}
}
}