xserver/include
Alan Coopersmith 4d3d93c68b Xi: unvalidated lengths in Xinput extension [CVE-2014-8095]
Multiple functions in the Xinput extension handling of requests from
clients failed to check that the length of the request sent by the
client was large enough to perform all the required operations and
thus could read or write to memory outside the bounds of the request
buffer.

This commit includes the creation of a new REQUEST_AT_LEAST_EXTRA_SIZE
macro in include/dix.h for the common case of needing to ensure a
request is large enough to include both the request itself and a
minimum amount of extra data following the request header.

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 73c63afb93)
Signed-off-by: Julien Cristau <jcristau@debian.org>
2014-12-09 17:50:12 +01:00
..
.gitignore .gitignore: use common defaults with custom section #24239 2009-11-11 21:40:20 -08:00
busfault.h Trap SIGBUS to handle truncated shared memory segments 2013-11-11 15:16:07 -08:00
callback.h Replace 'pointer' type with 'void *' 2014-01-12 10:24:11 -08:00
client.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
closestr.h Replace 'pointer' type with 'void *' 2014-01-12 10:24:11 -08:00
closure.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
colormap.h Replace 'pointer' type with 'void *' 2014-01-12 10:24:11 -08:00
colormapst.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
cursor.h Replace 'pointer' type with 'void *' 2014-01-12 10:24:11 -08:00
cursorstr.h dix: FIXES is not optional 2013-09-10 13:28:24 -04:00
dbus-core.h dbus-core: Make dbus-core no longer mutually exclusive with udev 2014-01-29 15:28:58 -08:00
dix-config-apple-verbatim.h Move the apple fat binary hacks back to a header file, and make it apple-only. 2009-01-30 16:36:45 -08:00
dix-config.h.in Xorg: Add a suid root wrapper 2014-03-12 08:50:05 +01:00
dix.h Xi: unvalidated lengths in Xinput extension [CVE-2014-8095] 2014-12-09 17:50:12 +01:00
dixaccess.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
dixevents.h dix: Remove redundant declarations. 2012-05-14 13:31:00 +01:00
dixfont.h Replace 'pointer' type with 'void *' 2014-01-12 10:24:11 -08:00
dixfontstr.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
dixfontstubs.h include: GetClientResolutions is declared in font.h 2014-01-22 19:56:31 -08:00
dixgrabs.h Replace 'pointer' type with 'void *' 2014-01-12 10:24:11 -08:00
dixstruct.h dix: Praise clients which haven't run for a while, rather than idle clients 2014-01-23 10:10:28 -08:00
eventconvert.h input: drop FP1616 macro 2012-11-19 12:12:23 +10:00
events.h Add support for XI2.3: Pointer barrier events and releases. 2012-12-17 15:01:45 +10:00
eventstr.h Delete stray ; in struct _DeviceChangedEvent 2014-02-09 17:21:20 -08:00
exevents.h dix: Move DeviceFocusEvent from Xi into enterleave.c 2012-05-17 08:50:44 +10:00
extension.h miinitext: introduce LoadExtensionList() to replace over LoadExtension() 2014-03-25 16:00:17 -07:00
extinit.h present: Add Present extension 2013-10-31 16:59:18 -07:00
extnsionst.h Replace 'pointer' type with 'void *' 2014-01-12 10:24:11 -08:00
gc.h Replace 'pointer' type with 'void *' 2014-01-12 10:24:11 -08:00
gcstruct.h Replace 'pointer' type with 'void *' 2014-01-12 10:24:11 -08:00
globals.h Clean up warnings in DIX 2014-01-12 10:14:49 -08:00
glx_extinit.h glx: drop GLX_LIBS from X server and workaround sdksyms. 2012-07-25 23:30:53 -07:00
hotplug.h config_odev_add_attribute*: Check for right attribute type 2014-07-14 13:21:30 -07:00
input.h Make XYToWindow a screen function 2014-04-01 10:30:42 -07:00
inputstr.h input: un-constify dev->name 2014-02-04 11:27:48 +10:00
inpututils.h dix: split xi2_mask_isset into a per-device function 2012-12-12 17:25:16 +10:00
kdrive-config.h.in kdrive: Add option to compile out input drivers 2010-01-06 19:47:53 +06:00
list.h list: Avoid using X types 2013-09-10 13:28:24 -04:00
Makefile.am systemd-logind: Add systemd-logind "core" 2014-03-03 08:13:55 +01:00
misc.h Fix overflow checking extension versions 2014-06-02 11:19:49 -07:00
miscstruct.h Replace 'pointer' type with 'void *' 2014-01-12 10:24:11 -08:00
opaque.h Add a command line argument for disabling indirect GLX. 2014-04-23 13:24:22 -07:00
optionstr.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
os.h os: Add AddClientOnOpenFD() to create a new client for an file descriptor 2014-03-25 08:46:12 +10:00
pixmap.h Replace 'pointer' type with 'void *' 2014-01-12 10:24:11 -08:00
pixmapstr.h dix/pixmap: track dirty pixmaps in server. (v4) 2012-07-07 10:37:11 +01:00
privates.h Replace 'pointer' type with 'void *' 2014-01-12 10:24:11 -08:00
property.h Replace 'pointer' type with 'void *' 2014-01-12 10:24:11 -08:00
propertyst.h Replace 'pointer' type with 'void *' 2014-01-12 10:24:11 -08:00
protocol-versions.h present: Don't use the major/minor version from the protocol headers 2013-12-13 14:59:04 -05:00
ptrveloc.h dix: indentation fixes for pointer acceleration 2012-05-16 10:59:35 +10:00
region.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
regionstr.h dix: integer overflow in RegionSizeof() [CVE-2014-8092 3/4] 2014-12-09 17:50:12 +01:00
registry.h dix: add missing dixFreeRegistry define 2013-06-06 08:12:38 +10:00
resource.h Replace 'pointer' type with 'void *' 2014-01-12 10:24:11 -08:00
rgb.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
screenint.h dix: don't use "new" as a parameter name 2012-07-25 09:27:11 -07:00
scrnintstr.h Add pScreen->NameWindowPixmap hook 2014-04-03 16:40:03 -07:00
selection.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
servermd.h arch: Fix image and bitmap byte order for ppc64le 2014-06-23 13:57:46 -07:00
site.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
swaprep.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
swapreq.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
systemd-logind.h systemd-logind: let the logind code decided whether to close an fd 2014-05-05 07:26:33 +10:00
validate.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
version-config.h.in Move VENDOR_* defines from AC_SUBST to a header to avoid angering shave. 2009-04-14 10:35:44 -04:00
window.h Replace 'pointer' type with 'void *' 2014-01-12 10:24:11 -08:00
windowstr.h Replace 'pointer' type with 'void *' 2014-01-12 10:24:11 -08:00
XIstubs.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
xkb-config.h.in Move to autoconf standard function name checks & defines 2011-12-05 14:32:45 -08:00
xkbfile.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
xkbrules.h xkb: add a call to init an XkbRMLVOSet from const chars 2014-02-04 10:53:59 +10:00
xkbsrv.h xkb: Restore XkbCopyDeviceKeymap 2014-03-25 08:50:35 +10:00
xkbstr.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
xorg-config.h.in xf86LogInit: log to XDG_DATA_HOME when not running as root 2014-04-03 14:17:35 +10:00
xorg-server.h.in Add 'FONT_PATH_NAME_ELEMENT_CONST' to dix-config.h and xorg-server.h 2014-01-22 19:56:31 -08:00
Xprintf.h os/xprintf: add Xvscnprintf and Xscnprintf 2012-05-03 14:59:23 +10:00
xserver-properties.h Add missing labels for multitouch valuators 2012-10-30 15:11:10 +10:00
xsha1.h Move SHA1 computation from render/glyph.c to os/ 2009-10-15 01:17:44 +02:00
xwin-config.h.in configure: Restore DEFAULT_LOGDIR to xwin-config.h, it is used 2014-06-02 13:07:46 +01:00