summaryrefslogtreecommitdiff
path: root/Xext/geext.c
AgeCommit message (Collapse)AuthorFilesLines
2009-06-29Fix a couple off-by-one array boundary checks.Jeremy Huddleston1-1/+1
Error: Write outside array bounds at Xext/geext.c:406 in function 'GEWindowSetMask' [Symbolic analysis] In array dereference of cli->nextSib[extension] with index 'extension' Array size is 128 elements (of 4 bytes each), index <= 128 Error: Buffer overflow at dix/events.c:592 in function 'SetMaskForEvent' [Symbolic analysis] In array dereference of filters[deviceid] with index 'deviceid' Array size is 20 elements (of 512 bytes each), index >= 0 and index <= 20 Error: Read buffer overflow at hw/xfree86/loader/loader.c:226 in function 'LoaderOpen' [Symbolic analysis] In array dereference of refCount[new_handle] with index 'new_handle' Array size is 256 elements (of 4 bytes each), index >= 1 and index <= 256 These bugs were found using the Parfait source code analysis tool. For more information see http://research.sun.com/projects/parfait Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com> Signed-off-by: Adam Jackson <ajax@redhat.com> Acked-by: Peter Hutterer <peter.hutterer@who-t.net> (cherry picked from commit b680bda34da130ce408783f04214771471e41e8d) (cherry picked from commit 04c9e80f083659e63cffec8969fb3a0cfc551a97) Signed-off-by: Keith Packard <keithp@keithp.com>
2008-10-26Xext: Fix compiler warningsJulien Cristau1-1/+2
Make GEClientGone static and include registry.h, to fix the following warnings: geext.c:225: warning: no previous prototype for 'GEClientGone' geext.c: In function 'GEExtensionInit': geext.c:280: warning: implicit declaration of function 'RegisterResourceName' geext.c:280: warning: nested extern declaration of 'RegisterResourceName'
2008-08-28Prepare for array-index based devPrivates.Tomas Carnecky1-1/+2
TODO: static indices can be made just an int; some indices can be combined.
2008-07-10Xext: store the GenericMasks in the resource system.Peter Hutterer1-4/+49
This fixes a severe issue - when the client died the event mask didn't get unregistered and a future event would dereference dangling pointers. By storing the event masks in the resource system we can free them when the client dies.
2008-05-21Replace UniSA with full Uni name in Author affiliation.Peter Hutterer1-1/+1
Big boss says UniSA isn't unique enough. Who am I to argue?
2008-04-25Standardise copyright headers for all new files created as part of MPX.Peter Hutterer1-27/+23
2008-04-24Xext: XGE: change function definition to have return value on separate line.Peter Hutterer1-15/+19
This seems to be the common style in most parts of the server.
2008-04-24Xext: add a few lines of comments to XGE.Peter Hutterer1-5/+14
2008-04-24Xext: re-do the XGE versioning handling.Peter Hutterer1-15/+18
Basically the same approach RandR takes. Remember which one the client requested, send back the one the server supports. Also divide XGE server version (now defined in geext.c) and the client's version (still in the protocol definition).
2008-04-24Xext: remove trailing whitespaces in geext.{c|h}Peter Hutterer1-17/+17
2008-01-25Xext: add GEDeviceMaskIsSet (GE mask checking per device)Peter Hutterer1-0/+34
If a mask was set for the NULL device, then we pretend the mask is set for all devices.
2008-01-25Xext: allow per-device GE masks.Peter Hutterer1-5/+7
Instead of a single mask per client we allow the storage of a mask per client per device.
2008-01-03Merge branch 'master' into mpxPeter Hutterer1-11/+9
Conflicts: XTrap/xtrapddmi.c Xext/security.c Xext/xprint.c Xext/xtest.c Xext/xvdisp.c Xi/exevents.c Xi/grabdevb.c Xi/grabdevk.c Xi/opendev.c Xi/ungrdev.c Xi/ungrdevb.c Xi/ungrdevk.c dix/cursor.c dix/devices.c dix/dixutils.c dix/events.c dix/getevents.c dix/main.c dix/window.c hw/xfree86/ramdac/xf86Cursor.c include/dix.h include/input.h include/inputstr.h mi/midispcur.c mi/miinitext.c mi/misprite.c render/animcur.c xfixes/cursor.c xkb/xkbAccessX.c
2007-07-06Use the same struct for generic event masks throughout the code.Peter Hutterer1-7/+7
Renaming those structs too. Previously grabs were using a different struct than windows, which was reasonably stupid.
2007-07-01Add 'evfill' field to GEExtensions.Peter Hutterer1-10/+8
We need this to allow extensions to fill in extra data for an event before it is sent to the client. This is probably to be used like FillUpEventsFromWindow().
2007-05-17Clean up, correct some comments.Peter Hutterer1-6/+6
Send event type down with the RawEvents.
2007-05-02Cleaning up a bit.Peter Hutterer1-2/+1
Register correct event in EventSwapVector. Fix up event swap for GE events, register XI's swap function at GE.
2007-04-30Add GenericEvent extension to Xext.Peter Hutterer1-0/+384
This adds (unconditional) support for the GE extension. Anything from now on that sends events in MPX will have to use the GE extension. No GE, no MPX events. GE is not actually used yet from anywhere with this commit. You will need to update x11proto, xextproto, libX11, libXext and xcb to the matching xge branches. Things will _NOT_ work without the updated protocol headers and libraries.