From b992fdaa0f0789e4e1db6d121cfff979210dcb52 Mon Sep 17 00:00:00 2001 From: Mike Gabriel Date: Tue, 3 Feb 2015 04:59:13 +0100 Subject: Add patch 700_nx-X11_mesa-initialize-server-support-correctly.full.patch. Initialize server_support array with correct size. Fix Mesa upstream bugzilla bug #7353. (Fixes: #776). --- debian/changelog | 5 +++ ...-initialize-server-support-correctly.full.patch | 49 ++++++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 55 insertions(+) create mode 100644 debian/patches/700_nx-X11_mesa-initialize-server-support-correctly.full.patch diff --git a/debian/changelog b/debian/changelog index bebcf51e8..a5e08c030 100644 --- a/debian/changelog +++ b/debian/changelog @@ -100,6 +100,11 @@ nx-libs (2:3.5.0.29-0x2go2) UNRELEASED; urgency=medium launched as x2goagent, use X2Go-specific paths for the keystrokes.cfg file. (Fixes: #744). + [ Heinrich Schuchardt ] + + Add patch 700_nx-X11_mesa-initialize-server-support-correctly.full.patch. + Initialize server_support array with correct size. Fix Mesa upstream + bugzilla bug #7353. (Fixes: #776). + [ Mihai Moldovan ] * Change string "X2go" to "X2Go" where appropriate. diff --git a/debian/patches/700_nx-X11_mesa-initialize-server-support-correctly.full.patch b/debian/patches/700_nx-X11_mesa-initialize-server-support-correctly.full.patch new file mode 100644 index 000000000..3fe8c5745 --- /dev/null +++ b/debian/patches/700_nx-X11_mesa-initialize-server-support-correctly.full.patch @@ -0,0 +1,49 @@ +From 7ef4a07165d49e671f6f569ee87bfe893b1e7fcf Mon Sep 17 00:00:00 2001 +From: Ian Romanick +Date: Thu, 13 Jul 2006 15:27:37 +0000 +Subject: [PATCH] Move initialization of server_support from + __glXProcessServerString to __glXCalcualteUsableExtensions. By having both + callers of __glXProcessServerString initialize the bit-fields passed in, we + guarantee that the correct amount of data is initialized: + +This fixes bugzilla #7353. +--- + nx-X11/extras/Mesa/src/glx/x11/glxextensions.c | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +diff --git a/nx-X11/extras/Mesa/src/glx/x11/glxextensions.c b/nx-X11/extras/Mesa/src/glx/x11/glxextensions.c +index c3bc930..d00bdbb 100644 +--- a/nx-X11/extras/Mesa/src/glx/x11/glxextensions.c ++++ b/nx-X11/extras/Mesa/src/glx/x11/glxextensions.c +@@ -319,6 +319,11 @@ set_glx_extension( const struct extension_info * ext, + * + * \param server_string GLX extension string from the server. + * \param server_support Bit-field of supported extensions. ++ * ++ * \note ++ * This function is used to process both GLX and GL extension strings. The ++ * bit-fields used to track each of these have different sizes. Therefore, ++ * the data pointed by \c server_support must be preinitialized to zero. + */ + static void + __glXProcessServerString( const struct extension_info * ext, +@@ -328,8 +333,6 @@ __glXProcessServerString( const struct extension_info * ext, + unsigned base; + unsigned len; + +- (void) memset( server_support, 0, sizeof( server_support ) ); +- + for ( base = 0 ; server_string[ base ] != NUL ; /* empty */ ) { + /* Determine the length of the next extension name. + */ +@@ -580,6 +583,8 @@ __glXCalculateUsableExtensions( __GLXscreenConfigs *psc, + + __glXExtensionsCtr(); + __glXExtensionsCtrScreen( psc ); ++ ++ (void) memset( server_support, 0, sizeof( server_support ) ); + __glXProcessServerString( known_glx_extensions, + psc->serverGLXexts, server_support ); + +-- +2.1.4 diff --git a/debian/patches/series b/debian/patches/series index 0e6ec06e9..ae106b985 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -72,6 +72,7 @@ 605_nxcomp_Types.h-dont-use-STL-internals-on-libc++.full+lite.patch 606_nx-X11_build-on-aarch64.full.patch 607_nxcomp_macosx-X11-launcher-in-private-tmp.full+lite.patch +700_nx-X11_mesa-initialize-server-support-correctly.full.patch 990_fix-DEBUG-and-TEST-builds.full.patch 991_fix-hr-typos.full+lite.patch 991_fix-hr-typos.full.patch -- cgit v1.2.3