runit: fix segfault in svlogd discovered on armv7hf-musl.

Code in svlogd.c allocates some memory at startup which is
not zeroed, and other code was using those garbage values.
I have no idea why this has never caused a problem before, but
for me, svlogd consistently segfaults on armv7hf-musl when
it is called by socklog.
This commit is contained in:
Christopher Brannon 2018-03-03 03:16:12 -08:00 committed by Michael Gehring
parent 38088faab4
commit fddc8d2187
1 changed files with 11 additions and 0 deletions

View File

@ -0,0 +1,11 @@
diff -Naur runit-2.1.2/src/svlogd.c runit-2.1.2/src/svlogd.c
--- runit-2.1.2/src/svlogd.c 2014-08-10 11:22:34.000000000 -0700
+++ runit-2.1.2/src/svlogd.c 2018-03-03 03:28:08.243085845 -0800
@@ -705,6 +705,7 @@
coe(fdwdir);
dir =(struct logdir*)alloc(dirn *sizeof(struct logdir));
if (! dir) die_nomem();
+ memset(dir, 0, dirn * sizeof(struct logdir));
for (i =0; i < dirn; ++i) {
dir[i].fddir =-1; dir[i].fdcur =-1;
dir[i].btmp =(char*)alloc(buflen *sizeof(char));