]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/libvirt.git/commitdiff
virExec: avoid uninitialized memory usage
authorEric Blake <eblake@redhat.com>
Mon, 21 Feb 2011 21:27:04 +0000 (14:27 -0700)
committerEric Blake <eblake@redhat.com>
Thu, 24 Feb 2011 20:12:52 +0000 (13:12 -0700)
valgrind warns:

==21079== Syscall param rt_sigaction(act->sa_mask) points to uninitialised byte(s)
==21079==    at 0x329840F63E: __libc_sigaction (sigaction.c:67)
==21079==    by 0x4E5A8E7: __virExec (util.c:661)

Regression introduced in commit ab07533e.  Technically, sa_mask
shouldn't affect operation if sa_flags selects sa_handler, and
sa_handler selects SIG_IGN, but better safe than sorry.

* src/util/util.c (__virExec): Supply missing sigemptyset.

src/util/util.c

index ee08d474002b495f35ab4f58862718f28d27327d..bac71c80c211b498f561c57932da75b4bd02c609 100644 (file)
@@ -657,6 +657,7 @@ __virExec(const char *const*argv,
         struct sigaction waxon, waxoff;
         waxoff.sa_handler = SIG_IGN;
         waxoff.sa_flags = 0;
+        sigemptyset(&waxoff.sa_mask);
         memset(&waxon, 0, sizeof(waxon));
         if (sigaction(SIGPIPE, &waxoff, &waxon) < 0) {
             virReportSystemError(errno, "%s",