procd: initd: fix path allocation in early_insmod
authorNathan Hintz <nlhintz@hotmail.com>
Fri, 29 Dec 2017 04:48:26 +0000 (04:48 +0000)
committerJohn Crispin <john@phrozen.org>
Fri, 29 Dec 2017 23:12:16 +0000 (00:12 +0100)
Noticed that /tmp was not being created on /dev/zram0.  This was on
ixp4xx (nslu2) using GCC 6.3 and musl.

The allocation should be using the length of the passed string
(module path), not the size of the pointer to the string.

Signed-off-by: Nathan Hintz <nlhintz@hotmail.com>
initd/zram.c

index 0e78195ff5ac4b2fca8ae698a48d1055265faa0e..da1795af33a3519f52636cefc7175d669ba28ab3 100644 (file)
@@ -60,7 +60,7 @@ early_insmod(char *module)
                struct utsname ver;
 
                uname(&ver);
-               path = alloca(sizeof(module) + strlen(ver.release) + 1);
+               path = alloca(strlen(module) + strlen(ver.release) + 1);
                sprintf(path, module, ver.release);
                modprobe[1] = path;
                execvp(modprobe[0], modprobe);