procd: initd: fix path allocation in early_insmod
authorNathan Hintz <nlhintz@hotmail.com>
Fri, 29 Dec 2017 04:48:26 +0000 (04:48 +0000)
committerHans Dedecker <dedeckeh@gmail.com>
Thu, 4 Jan 2018 10:15:58 +0000 (11:15 +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 9fab794acf54eef20b53fe87896438e732a5745a..c7309422ae5ca1db2ea33e4f3f3c6f41413471ba 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);