aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/runit/runit/clearmem.patch
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2017-05-27 15:39:44 -0700
committerKhem Raj <raj.khem@gmail.com>2019-01-02 10:23:00 -0800
commiteb4bd72f4372c742fd58dd1347d2b3176374d2e9 (patch)
tree2d07c5ac461decf57fa1461cd90971018c22f82f /meta/recipes-core/runit/runit/clearmem.patch
parent69c1d05a82ee0173276477d1092e9c234add7db2 (diff)
downloadopenembedded-core-contrib-kraj/runit.tar.gz
recipes: Add runit and related recipeskraj/runit
* Another init system, very small in size with application life cycle management * Add runit-services recipe for additional runit services from void linux * socklog is a system/kernel logger * Add socklog-services to provide additional logging services Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta/recipes-core/runit/runit/clearmem.patch')
-rw-r--r--meta/recipes-core/runit/runit/clearmem.patch22
1 files changed, 22 insertions, 0 deletions
diff --git a/meta/recipes-core/runit/runit/clearmem.patch b/meta/recipes-core/runit/runit/clearmem.patch
new file mode 100644
index 0000000000..3fa28a7006
--- /dev/null
+++ b/meta/recipes-core/runit/runit/clearmem.patch
@@ -0,0 +1,22 @@
+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.
+
+Upstream-Status: Pending
+Author: Christopher Brannon <chris@the-brannons.com>
+
+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));