From 9d1742a36eb1f60b985a659a47b1b9ed76096647 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Nykr=C3=BDn?= Date: Tue, 5 Mar 2024 17:11:02 +0100 Subject: [PATCH] fix(dracut-install): memory leak "Error: RESOURCE_LEAK (CWE-772): src/install/dracut-install.c:1135: alloc_fn: Storage is returned from allocation function ""strv_split"". src/install/dracut-install.c:1135: var_assign: Assigning: ""firmwaredirs"" = storage returned from ""strv_split(optarg, "":"")"". src/install/dracut-install.c:1135: overwrite_var: Overwriting ""firmwaredirs"" in ""firmwaredirs = strv_split(optarg, "":"")"" leaks the storage that ""firmwaredirs"" points to. 1133| break; 1134| case ARG_FIRMWAREDIRS: 1135|-> firmwaredirs = strv_split(optarg, "":""); 1136| break; 1137| case 'f':" --- src/install/dracut-install.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/install/dracut-install.c b/src/install/dracut-install.c index 227321b9f7..8c0e482f40 100644 --- a/src/install/dracut-install.c +++ b/src/install/dracut-install.c @@ -1140,6 +1140,7 @@ static int parse_argv(int argc, char *argv[]) kerneldir = optarg; break; case ARG_FIRMWAREDIRS: + strv_free(firmwaredirs); firmwaredirs = strv_split(optarg, ":"); break; case 'f':