libuci: fix false positive warning on older gcc versions

Fixes the following warning:

  libuci.c: In function 'uci_set_conf2dir':
  libuci.c:97:59: error: argument 'dir' might be clobbered by 'longjmp' or 'vfork' [-Werror=clobbered]
     97 | int uci_set_conf2dir(struct uci_context *ctx, const char *dir)
        |                                               ~~~~~~~~~~~~^~~
  cc1: all warnings being treated as errors

Reported-by: Matthias Franck <matthias.franck@softathome.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
Felix Fietkau
2025-01-28 19:55:25 +01:00
parent 16ff0badbd
commit f3fc0b7604

View File

@@ -98,11 +98,11 @@ int uci_set_conf2dir(struct uci_context *ctx, const char *dir)
{
char *cdir;
UCI_HANDLE_ERR(ctx);
if (dir && !dir[0])
dir = NULL;
if (!dir || !dir[0])
cdir = NULL;
else if ((cdir = strdup(dir)) == NULL)
return UCI_ERR_MEM;
cdir = dir ? uci_strdup(ctx, dir) : NULL;
if (ctx->conf2dir != uci_conf2dir)
free(ctx->conf2dir);
ctx->conf2dir = cdir;