diff options
author | Julien Cristau <jcristau@debian.org> | 2010-04-13 22:28:36 +0200 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2010-04-16 07:53:35 +1000 |
commit | 0e7703f9b1927328954a2fc87aac6be244819329 (patch) | |
tree | a89fdbacb83b65f3ba653217ab48680273de5614 /hw | |
parent | 2f29b163bbdebe384c24f781bb97b446959e8f4c (diff) |
vfb: add a name and type to the pointer and keyboard
Fixes a crash in XIQueryDevice which calls strlen on a NULL pointer.
#0 strlen () at ../sysdeps/x86_64/strlen.S:31
#1 0x00000000004c16ed in SizeDeviceInfo (dev=0x969bd0)
at ../../Xi/xiquerydevice.c:204
#2 0x00000000004c1a01 in ProcXIQueryDevice (client=0xa57510)
at ../../Xi/xiquerydevice.c:98
Debian bug#575905 <http://bugs.debian.org/575905>
Reported-by: "Bernhard R. Link" <brlink@debian.org>
Signed-off-by: Julien Cristau <jcristau@debian.org>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'hw')
-rw-r--r-- | hw/vfb/InitInput.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/hw/vfb/InitInput.c b/hw/vfb/InitInput.c index 35d1dc4d2..10bb6a599 100644 --- a/hw/vfb/InitInput.c +++ b/hw/vfb/InitInput.c @@ -43,6 +43,7 @@ from The Open Group. #include <X11/keysym.h> #include "xserver-properties.h" #include "exevents.h" +#include "extinit.h" Bool LegalModifier(unsigned int key, DeviceIntPtr pDev) @@ -136,10 +137,15 @@ void InitInput(int argc, char *argv[]) { DeviceIntPtr p, k; + Atom xiclass; p = AddInputDevice(serverClient, vfbMouseProc, TRUE); k = AddInputDevice(serverClient, vfbKeybdProc, TRUE); RegisterPointerDevice(p); + xiclass = MakeAtom(XI_MOUSE, sizeof(XI_MOUSE) - 1, TRUE); + AssignTypeAndName(p, xiclass, "Xvfb mouse"); RegisterKeyboardDevice(k); + xiclass = MakeAtom(XI_KEYBOARD, sizeof(XI_KEYBOARD) - 1, TRUE); + AssignTypeAndName(k, xiclass, "Xvfb keyboard"); (void)mieqInit(); } |