XLibre Xserver
Go to file
Alan Coopersmith feebf67463 Limit the number of screens Xvfb will attempt to allocate memory for
Commit f9e3a2955d removing the MAXSCREEN limit left the screen
number too unlimited, and allowed any positive int for a screen number:

Xvfb :1 -screen 2147483647 1024x1024x8

Fatal server error:
Not enough memory for screen 2147483647

Found by Parfait 0.3.7:
Error: Integer overflow (CWE 190)
   Integer parameter of memory allocation function realloc() may overflow due to multiplication with constant value 1112
        at line 293 of hw/vfb/InitOutput.c in function 'ddxProcessArgument'.

Since the X11 connection setup only has a CARD8 for number of SCREENS,
limit to 255 screens, which is also low enough to avoid overflow on the
sizeof(*vfbScreens) * (screenNum + 1) calculation for realloc.

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Jamey Sharp <jamey@minilop.net>
2011-12-02 00:17:28 -08:00
Xext Save major/minor opcodes in ClientRec for RecordAReply 2011-12-01 15:11:20 +00:00
Xi Xi: add FreeInputMask function 2011-11-29 15:12:59 +10:00
composite composite: Update borderClip in compAllocPixmap() 2011-10-19 17:24:23 -07:00
config Merge remote-tracking branch 'herrb/master' 2011-10-03 13:56:06 -07:00
damageext Use internal temp variable for swap macros 2011-09-21 17:12:04 -04:00
dbe Unconditionally #include <stdint.h> 2011-09-23 16:46:23 -07:00
dix Save major/minor opcodes in ClientRec for RecordAReply 2011-12-01 15:11:20 +00:00
doc Fix gcc -Wwrite-strings warnings in various extensions 2011-11-23 12:15:07 -08:00
exa Convert a bunch of sprintf to snprintf calls 2011-11-23 12:15:06 -08:00
fb Fix server crash due to invalid images 2011-10-04 20:18:17 -07:00
glx glx: don't leak driConfigs 2011-11-24 17:40:01 -02:00
hw Limit the number of screens Xvfb will attempt to allocate memory for 2011-12-02 00:17:28 -08:00
include Save major/minor opcodes in ClientRec for RecordAReply 2011-12-01 15:11:20 +00:00
m4 Use XORG_STRICT_OPTION from util-macros 1.14 to set -Werror flags 2011-05-27 19:51:05 -07:00
man Merge remote-tracking branch 'hramrach/pull' 2011-10-19 17:33:07 -07:00
mi Fix gcc -Wwrite-strings warnings in various extensions 2011-11-23 12:15:07 -08:00
miext rootless: Fix a server crash when choosing a color with the gimp color wheel 2011-11-18 11:30:22 -08:00
os Mark arguments to fopen/popen/system wrappers as const char * 2011-11-23 12:15:06 -08:00
randr Remove redundant redeclarations of functions in the same header file 2011-11-23 12:15:07 -08:00
record Save major/minor opcodes in ClientRec for RecordAReply 2011-12-01 15:11:20 +00:00
render Fix gcc -Wwrite-strings warnings in various extensions 2011-11-23 12:15:07 -08:00
test test: remove unneeded printf statements from misc.c 2011-11-29 15:13:37 +10:00
xfixes Use internal temp variable for swap macros 2011-09-21 17:12:04 -04:00
xkb Fix gcc -Wwrite-strings warnings in XkbGetRulesDflts 2011-11-23 12:15:07 -08:00
.gitignore doc: relocate xserver.ent in the package root directory 2011-05-14 11:22:26 -07:00
COPYING Add asprintf() implementation for platforms without it 2010-12-07 11:10:35 -08:00
Makefile.am man: relocate manual pages in the man subdir outside doc 2011-05-13 14:08:17 -07:00
README packaging: provide a default README file #24206 2010-01-27 14:00:17 -08:00
autogen.sh autogen.sh: Pass --force to autoreconf 2008-07-22 16:55:26 +03:00
configure.ac Add fallback implementation of strndup() 2011-11-23 12:15:05 -08:00
devbook.am devbook.am: maintenance update from docbook.am 2011-09-21 14:07:52 -07:00
docbook.am docbook.am: embed css styles inside the HTML HEAD element 2011-09-21 14:07:49 -07:00
fix-miregion Change region implementation names to eliminate the 'mi' prefix 2010-06-05 17:47:32 -07:00
fix-miregion-private Change region implementation names to eliminate the 'mi' prefix 2010-06-05 17:47:32 -07:00
fix-patch-whitespace Rename region macros to eliminate screen argument 2010-06-05 18:59:00 -07:00
fix-region Rename region macros to eliminate screen argument 2010-06-05 18:59:00 -07:00
manpages.am Xdmx.man: Show actual configured XKB defaults instead of old hardcoded values 2011-06-21 17:54:14 -07:00
xorg-server.m4 macros: use PKG_CONFIG variable rather than executable name 2010-01-07 12:57:23 -08:00
xorg-server.pc.in xorg-server.pc.in: Remove libpciaccess and pixman-1 from Requires 2011-10-15 21:18:47 -07:00
xserver.ent.in doc: relocate xserver.ent in the package root directory 2011-05-14 11:22:26 -07:00

					X Server

The X server accepts requests from client applications to create windows,
which are (normally rectangular) "virtual screens" that the client program
can draw into.

Windows are then composed on the actual screen by the X server
(or by a separate composite manager) as directed by the window manager,
which usually communicates with the user via graphical controls such as buttons
and draggable titlebars and borders.

For a comprehensive overview of X Server and X Window System, consult the
following article:
http://en.wikipedia.org/wiki/X_server

All questions regarding this software should be directed at the
Xorg mailing list:

        http://lists.freedesktop.org/mailman/listinfo/xorg

Please submit bug reports to the Xorg bugzilla:

        https://bugs.freedesktop.org/enter_bug.cgi?product=xorg

The master development code repository can be found at:

        git://anongit.freedesktop.org/git/xorg/xserver

        http://cgit.freedesktop.org/xorg/xserver

For patch submission instructions, see:

	http://www.x.org/wiki/Development/Documentation/SubmittingPatches

For more information on the git code manager, see:

        http://wiki.x.org/wiki/GitPage