[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [COMMIT 9ed415b] initialize struct sigevent before timer_
From: |
Anthony Liguori |
Subject: |
[Qemu-commits] [COMMIT 9ed415b] initialize struct sigevent before timer_create |
Date: |
Wed, 20 May 2009 14:26:58 -0000 |
From: Jean-Christophe Dubois <address@hidden>
When qemu is run under valgrind, valgrind shows the following output
on exit:
==3648== 1 errors in context 2 of 2:
==3648== Syscall param timer_create(evp) points to uninitialised byte(s)
==3648== at 0x54E936A: timer_create (in /lib/librt-2.9.so)
==3648== by 0x405DCF: dynticks_start_timer (vl.c:1549)
==3648== by 0x40A966: main (vl.c:1726)
==3648== Address 0x7fefffb34 is on thread 1's stack
==3648== Uninitialised value was created by a stack allocation
==3648== at 0x405D60: dynticks_start_timer (vl.c:1534)
This patch is a simple fix to remove this potential problem.
Signed-off-by: Jean-Christophe DUBOIS <address@hidden>
diff --git a/vl.c b/vl.c
index 7034209..9f25cd4 100644
--- a/vl.c
+++ b/vl.c
@@ -1542,6 +1542,11 @@ static int dynticks_start_timer(struct qemu_alarm_timer
*t)
sigaction(SIGALRM, &act, NULL);
+ /*
+ * Initialize ev struct to 0 to avoid valgrind complaining
+ * about uninitialized data in timer_create call
+ */
+ memset(&ev, 0, sizeof(ev));
ev.sigev_value.sival_int = 0;
ev.sigev_notify = SIGEV_SIGNAL;
ev.sigev_signo = SIGALRM;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-commits] [COMMIT 9ed415b] initialize struct sigevent before timer_create,
Anthony Liguori <=