summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPauli Nieminen <ext-pauli.nieminen@nokia.com>2011-01-03 12:25:28 -0500
committerAdam Jackson <ajax@redhat.com>2011-01-03 12:28:19 -0500
commit92fa96451af37a7a0f2592de07643fdaed7a9efd (patch)
tree129531eccdab8638160ee09e747aa541d6eff1fc
parentfa9747b9d4443eef9b1687b8b1208801f5c585da (diff)
Initialize event type
If we receive unsupported event closing connection triggers valgrind error. ==12017== Conditional jump or move depends on uninitialised value(s) ==12017== at 0x487D454: _XFreeDisplayStructure (OpenDis.c:607) ==12017== by 0x486857B: XCloseDisplay (ClDisplay.c:72) *snip* ==12017== Uninitialised value was created by a heap allocation ==12017== at 0x4834C48: malloc (vg_replace_malloc.c:236) ==12017== by 0x4894147: _XEnq (XlibInt.c:877) ==12017== by 0x4891BF3: handle_response (xcb_io.c:335) ==12017== by 0x4892263: _XReply (xcb_io.c:626) *snip* Problem is that XFreeDisplaySturture is checking for qelt->event.type == GenericEvent while _XUnknownWireEvent doesn't store the type. Reviewed-by: Adam Jackson <ajax@redhat.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Pauli Nieminen <ext-pauli.nieminen@nokia.com>
-rw-r--r--src/XlibInt.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/XlibInt.c b/src/XlibInt.c
index 11a85bab..d55c26af 100644
--- a/src/XlibInt.c
+++ b/src/XlibInt.c
@@ -883,6 +883,8 @@ void _XEnq(
type = event->u.u.type & 0177;
extension = ((xGenericEvent*)event)->extension;
+
+ qelt->event.type = type;
/* If an extension has registerd a generic_event_vec handler, then
* it can handle event cookies. Otherwise, proceed with the normal
* event handlers.