Jon TURNEY bc71081f0e glx: Fix crash when a client exits without deleting GL contexts
With the previous patches applied, we now have crash due to use-after-free when
a client exits without deleting all it's GL contexts

On client exit, CloseDownClient first calls glxClientCallback() with
ClientStateGone, which calls __glXFreeContext() directly.

Subsequently CloseDownClient() frees all the clients resources, which leads to
ContextGone() being called for a context resource where the context has already
been freed.

Fix this by modifiying glxClientCallback() to free the context resource.

Also make __glXFreeContext() static, as calling it directly leads to this
problem, instead the context resource should be released.

With the previous patches applied, this can be demonstrated with e.g. glxinfo,
which doesn't delete it's context before exit.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Adam Jackson <ajax@redhat.com>
2014-12-05 16:41:49 +00:00
2014-11-12 10:25:00 +10:00
2014-11-12 10:25:00 +10:00
2014-11-12 10:26:02 +10:00
2014-11-12 10:25:00 +10:00
2014-11-12 10:25:00 +10:00
2014-11-12 10:25:00 +10:00
2014-11-30 11:32:21 -08:00
2014-11-24 20:35:59 -08:00
2014-11-12 10:25:00 +10:00
2014-11-12 10:25:00 +10:00
2014-11-12 10:25:00 +10:00
2014-11-12 10:25:00 +10:00
2014-11-12 10:25:00 +10:00
2013-08-17 12:17:36 +02:00
2012-10-19 13:12:33 +10:00
2014-10-28 21:32:24 -07:00
2014-03-12 08:50:05 +01:00
2012-11-05 13:24:57 -06: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

Description
Truly free fork of the XOrg project.
Readme 91 MiB
Languages
C 96.4%
Roff 1.1%
Objective-C 1%
Meson 0.9%
Shell 0.2%
Other 0.2%