Syscall param rt_sigaction(act->sa_mask) points to uninitialised byte(s)
     at 0x388520F85A: __libc_sigaction (sigaction.c:64)
     by 0x468161: busfault_init (busfault.c:145)
     by 0x46E09A: OsInit (osinit.c:191)
     by 0x43A3EA: dix_main (main.c:163)
     by 0x3884A21D64: (below main) (libc-start.c:285)
   Address 0xffeffedd8 is on thread 1's stack

I can't think of a reason to block any other signals while this is
running - both SIGALRM and SIGIO should be harmless here - so just set
the mask to empty.

Signed-off-by: Adam Jackson <a...@redhat.com>
---
 os/busfault.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/os/busfault.c b/os/busfault.c
index 43bb6ea..bce7dfc 100644
--- a/os/busfault.c
+++ b/os/busfault.c
@@ -140,6 +140,7 @@ busfault_init(void)
 {
     struct sigaction    act, old_act;
 
+    sigemptyset(&act.sa_mask);
     act.sa_sigaction = busfault_sigaction;
     act.sa_flags = SA_SIGINFO;
     if (sigaction(SIGBUS, &act, &old_act) < 0)
-- 
1.9.0

_______________________________________________
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to