This is an automated email from the git hooks/post-receive script. x2go pushed a change to branch 3.5.0.x in repository nx-libs. from 46de1b0 {nx-X11,nxproxy}: correct manpages: --help -> -help new 257825c nx-X11: Backport: Bug 51375: Xorg doesn't set status for RRGetOutputInfo new 389e410 nx-X11: Backport: Drop a reference to user mode after create new 9b26cc1 nx-X11: Backport: Free randr crtc and output pointer arrays new 44b9132 nx-X11: Backport: randr: check for virtual size limits before set crtc new 09cb7b2 nx-X11: Backport: randr: fix server crash in RRGetScreenInfo new e2f5d07 nx-X11: Backport: RRModeCreate: plug memory leak of newModes if AddResource fails new f3079be nx-X11: Backport: ProcRRGetScreenInfo: swap configTimestamp as well new ab58e57 nx-X11: Backport: randr: Fix REQUEST vs. REQUEST_SIZE_MATCH mismatch new 558e45c nx-X11: Backport: randr: Clean up compiler warnings about unused and shadowing variables new ab38d9b nx-X11: Backport: Make RANDR 'set' timestamps follow client specified time. Bug 21987. new 97494f1 nx-X11: Backport: xserver: Avoid sending uninitialized padding data over the network The 11 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Summary of changes: debian/changelog | 69 ++ ...51375-Xorg-doesn_t-set-status-for-RR.full.patch | 30 + ...-a-reference-to-user-mode-after-crea.full.patch | 28 + ...-randr-crtc-and-output-pointer-array.full.patch | 30 + ...r-check-for-virtual-size-limits-befo.full.patch | 41 + ...r-fix-server-crash-in-RRGetScreenInf.full.patch | 36 + ...deCreate-plug-memory-leak-of-newMode.full.patch | 42 + ...RRGetScreenInfo-swap-configTimestamp.full.patch | 27 + ...r-Fix-REQUEST-vs-REQUEST_SIZE_MATCH-.full.patch | 33 + ...r-Clean-up-compiler-warnings-about-u.full.patch | 117 +++ ...-RANDR-_set_-timestamps-follow-clien.full.patch | 66 ++ ...ver-Avoid-sending-uninitialized-padd.full.patch | 1055 ++++++++++++++++++++ debian/patches/series | 11 + 13 files changed, 1585 insertions(+) create mode 100644 debian/patches/1250_nx-X11_Bug-51375-Xorg-doesn_t-set-status-for-RR.full.patch create mode 100644 debian/patches/1251_nx-X11_Drop-a-reference-to-user-mode-after-crea.full.patch create mode 100644 debian/patches/1252_nx-X11_Free-randr-crtc-and-output-pointer-array.full.patch create mode 100644 debian/patches/1253_nx-X11_randr-check-for-virtual-size-limits-befo.full.patch create mode 100644 debian/patches/1254_nx-X11_randr-fix-server-crash-in-RRGetScreenInf.full.patch create mode 100644 debian/patches/1255_nx-X11_RRModeCreate-plug-memory-leak-of-newMode.full.patch create mode 100644 debian/patches/1256_nx-X11_ProcRRGetScreenInfo-swap-configTimestamp.full.patch create mode 100644 debian/patches/1257_nx-X11_randr-Fix-REQUEST-vs-REQUEST_SIZE_MATCH-.full.patch create mode 100644 debian/patches/1258_nx-X11_randr-Clean-up-compiler-warnings-about-u.full.patch create mode 100644 debian/patches/1259_nx-X11_Make-RANDR-_set_-timestamps-follow-clien.full.patch create mode 100644 debian/patches/1260_nx-X11_xserver-Avoid-sending-uninitialized-padd.full.patch -- Alioth's /srv/git/code.x2go.org/nx-libs.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/nx-libs.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch 3.5.0.x in repository nx-libs. commit 257825c88dd670eec2772109a0f48c78f4b5b190 Author: Jaroslav Šmíd <jardasmid@gmail.com> Date: Fri Jul 3 22:21:44 2015 +0200 nx-X11: Backport: Bug 51375: Xorg doesn't set status for RRGetOutputInfo https://bugs.freedesktop.org/show_bug.cgi?id=51375 https://bugs.freedesktop.org/attachment.cgi?id=63397 Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Keith Packard <keithp@keithp.com> Tested-by: Daniel Stone <daniel@fooishbar.org> Backported from Arctica GH 3.6.x branch. v2: backport to nx-libs 3.6.x (Ulrich Sibiller) v3: backport to nx-libs 3.5.0.x (Mihai Moldovan) --- debian/changelog | 8 ++++++ ...51375-Xorg-doesn_t-set-status-for-RR.full.patch | 30 ++++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 39 insertions(+) diff --git a/debian/changelog b/debian/changelog index 2544fbd..65cdefe 100644 --- a/debian/changelog +++ b/debian/changelog @@ -262,6 +262,14 @@ nx-libs (2:3.5.0.32-0x2go1) UNRELEASED; urgency=low - 0009_nxproxy_add-man-page.full+lite.patch - 0209_x2goagent_add-man-page.full.patch + [ Ulrich Sibiller ] + * nx-X11: Bug 51375: Xorg doesn't set status for RRGetOutputInfo + Backported from Arctica GH 3.6.x branch. + v2: backport to nx-libs 3.6.x (Ulrich Sibiller) + v3: backport to nx-libs 3.5.0.x (Mihai Moldovan) + Adds: + - 1250_nx-X11_Bug-51375-Xorg-doesn_t-set-status-for-RR.full.patch + -- X2Go Release Manager <git-admin@x2go.org> Tue, 17 Mar 2015 19:19:32 +0100 nx-libs (2:3.5.0.31-0x2go1) unstable; urgency=low diff --git a/debian/patches/1250_nx-X11_Bug-51375-Xorg-doesn_t-set-status-for-RR.full.patch b/debian/patches/1250_nx-X11_Bug-51375-Xorg-doesn_t-set-status-for-RR.full.patch new file mode 100644 index 0000000..1e440c2 --- /dev/null +++ b/debian/patches/1250_nx-X11_Bug-51375-Xorg-doesn_t-set-status-for-RR.full.patch @@ -0,0 +1,30 @@ +commit 8fd0b52f20e28759a88e1202716f60e773b11dd3 +Author: Jaroslav Šmíd <jardasmid@gmail.com> +Date: Mon Jul 9 19:12:42 2012 -0700 + + Backport: Bug 51375: Xorg doesn't set status for RRGetOutputInfo + + https://bugs.freedesktop.org/show_bug.cgi?id=51375 + https://bugs.freedesktop.org/attachment.cgi?id=63397 + + Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> + Reviewed-by: Keith Packard <keithp@keithp.com> + Tested-by: Daniel Stone <daniel@fooishbar.org> + + Backported from Arctica GH 3.6.x branch. + + v2: backport to nx-libs 3.6.x (Ulrich Sibiller) + v3: backport to nx-libs 3.5.0.x (Mihai Moldovan) + +diff --git a/nx-X11/programs/Xserver/randr/rroutput.c b/nx-X11/programs/Xserver/randr/rroutput.c +index 1ecde31..693f5a5 100644 +--- a/nx-X11/programs/Xserver/randr/rroutput.c ++++ b/nx-X11/programs/Xserver/randr/rroutput.c +@@ -456,6 +456,7 @@ ProcRRGetOutputInfo (ClientPtr client) + pScrPriv = rrGetScrPriv(pScreen); + + rep.type = X_Reply; ++ rep.status = RRSetConfigSuccess; + rep.sequenceNumber = client->sequence; + rep.length = OutputInfoExtra >> 2; + rep.timestamp = pScrPriv->lastSetTime.milliseconds; diff --git a/debian/patches/series b/debian/patches/series index e504d7e..2664161 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -136,6 +136,7 @@ 1104-xkb-Check-strings-length-against-request-size.full.patch 1200-CVE-2013-7439-MakeBigReq-don-t-move-the-last-wo.full.patch 1210-CVE-2015-3418-dix-Allow-zero-height-PutImage-re.full.patch +1250_nx-X11_Bug-51375-Xorg-doesn_t-set-status-for-RR.full.patch 9900-dxpc-license-history.full+lite.patch 0016_nx-X11_install-location.debian.patch 0102_xserver-xext_set-securitypolicy-path.debian.patch -- Alioth's /srv/git/code.x2go.org/nx-libs.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/nx-libs.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch 3.5.0.x in repository nx-libs. commit 389e410283419c1dd63cfe390601118491ccd0ba Author: Keith Packard <keithp@keithp.com> Date: Fri Jul 3 22:46:27 2015 +0200 nx-X11: Backport: Drop a reference to user mode after create User mode has no customer when create until assigned to some output. Backported from Arctica GH 3.6.x branch. v2: backport to nx-libs 3.6.x (Ulrich Sibiller) v3: backport to nx-libs 3.5.0.x (Mihai Moldovan) --- debian/changelog | 6 +++++ ...-a-reference-to-user-mode-after-crea.full.patch | 28 ++++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 35 insertions(+) diff --git a/debian/changelog b/debian/changelog index 65cdefe..bae4715 100644 --- a/debian/changelog +++ b/debian/changelog @@ -269,6 +269,12 @@ nx-libs (2:3.5.0.32-0x2go1) UNRELEASED; urgency=low v3: backport to nx-libs 3.5.0.x (Mihai Moldovan) Adds: - 1250_nx-X11_Bug-51375-Xorg-doesn_t-set-status-for-RR.full.patch + * nx-X11: Drop a reference to user mode after create + Backported from Arctica GH 3.6.x branch. + v2: backport to nx-libs 3.6.x (Ulrich Sibiller) + v3: backport to nx-libs 3.5.0.x (Mihai Moldovan) + Adds: + - 1251_nx-X11_Drop-a-reference-to-user-mode-after-crea.full.patch -- X2Go Release Manager <git-admin@x2go.org> Tue, 17 Mar 2015 19:19:32 +0100 diff --git a/debian/patches/1251_nx-X11_Drop-a-reference-to-user-mode-after-crea.full.patch b/debian/patches/1251_nx-X11_Drop-a-reference-to-user-mode-after-crea.full.patch new file mode 100644 index 0000000..a73a1c7 --- /dev/null +++ b/debian/patches/1251_nx-X11_Drop-a-reference-to-user-mode-after-crea.full.patch @@ -0,0 +1,28 @@ +commit f45476100e7d70a51a1513f4d7737addca737bd6 +Author: Keith Packard <keithp@keithp.com> +Date: Wed Sep 10 13:11:09 2008 +0800 + + Backport: Drop a reference to user mode after create + + User mode has no customer when create until assigned + to some output. + + Backported from Arctica GH 3.6.x branch. + + v2: backport to nx-libs 3.6.x (Ulrich Sibiller) + v3: backport to nx-libs 3.5.0.x (Mihai Moldovan) + +diff --git a/nx-X11/programs/Xserver/randr/rrmode.c b/nx-X11/programs/Xserver/randr/rrmode.c +index 62c0148..09c0113 100644 +--- a/nx-X11/programs/Xserver/randr/rrmode.c ++++ b/nx-X11/programs/Xserver/randr/rrmode.c +@@ -342,7 +342,8 @@ ProcRRCreateMode (ClientPtr client) + swapl(&rep.mode, n); + } + WriteToClient(client, sizeof(xRRCreateModeReply), (char *)&rep); +- ++ /* Drop out reference to this mode */ ++ RRModeDestroy (mode); + return client->noClientException; + } + diff --git a/debian/patches/series b/debian/patches/series index 2664161..c91269b 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -137,6 +137,7 @@ 1200-CVE-2013-7439-MakeBigReq-don-t-move-the-last-wo.full.patch 1210-CVE-2015-3418-dix-Allow-zero-height-PutImage-re.full.patch 1250_nx-X11_Bug-51375-Xorg-doesn_t-set-status-for-RR.full.patch +1251_nx-X11_Drop-a-reference-to-user-mode-after-crea.full.patch 9900-dxpc-license-history.full+lite.patch 0016_nx-X11_install-location.debian.patch 0102_xserver-xext_set-securitypolicy-path.debian.patch -- Alioth's /srv/git/code.x2go.org/nx-libs.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/nx-libs.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch 3.5.0.x in repository nx-libs. commit 9b26cc1636da2039837be7b40b26715442554c94 Author: Keith Packard <keithp@keithp.com> Date: Fri Jul 3 23:02:14 2015 +0200 nx-X11: Backport: Free randr crtc and output pointer arrays All of the crts and outputs were freed, but not the arrays full of pointers to them. Signed-off-by: Keith Packard <keithp@keithp.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Backported from Arctica GH 3.6.x branch. v2: backport to nx-libs 3.6.x (Ulrich Sibiller) v3: backport to nx-libs 3.5.0.x (Mihai Moldovan) --- debian/changelog | 6 ++++ ...-randr-crtc-and-output-pointer-array.full.patch | 30 ++++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 37 insertions(+) diff --git a/debian/changelog b/debian/changelog index bae4715..e410722 100644 --- a/debian/changelog +++ b/debian/changelog @@ -275,6 +275,12 @@ nx-libs (2:3.5.0.32-0x2go1) UNRELEASED; urgency=low v3: backport to nx-libs 3.5.0.x (Mihai Moldovan) Adds: - 1251_nx-X11_Drop-a-reference-to-user-mode-after-crea.full.patch + * nx-X11: Free randr crtc and output pointer arrays + Backported from Arctica GH 3.6.x branch. + v2: backport to nx-libs 3.6.x (Ulrich Sibiller) + v3: backport to nx-libs 3.5.0.x (Mihai Moldovan) + Adds: + - 1252_nx-X11_Free-randr-crtc-and-output-pointer-array.full.patch -- X2Go Release Manager <git-admin@x2go.org> Tue, 17 Mar 2015 19:19:32 +0100 diff --git a/debian/patches/1252_nx-X11_Free-randr-crtc-and-output-pointer-array.full.patch b/debian/patches/1252_nx-X11_Free-randr-crtc-and-output-pointer-array.full.patch new file mode 100644 index 0000000..6c6b1d0 --- /dev/null +++ b/debian/patches/1252_nx-X11_Free-randr-crtc-and-output-pointer-array.full.patch @@ -0,0 +1,30 @@ +commit 2aeb7671963932d5ddb771ad641969e20bb9aa25 +Author: Keith Packard <keithp@keithp.com> +Date: Thu Sep 17 18:14:37 2009 -0700 + + Backport: Free randr crtc and output pointer arrays + + All of the crts and outputs were freed, but not the arrays full of + pointers to them. + + Signed-off-by: Keith Packard <keithp@keithp.com> + Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> + + Backported from Arctica GH 3.6.x branch. + + v2: backport to nx-libs 3.6.x (Ulrich Sibiller) + v3: backport to nx-libs 3.5.0.x (Mihai Moldovan) + +diff --git a/nx-X11/programs/Xserver/randr/randr.c b/nx-X11/programs/Xserver/randr/randr.c +index 81df406..f565617 100644 +--- a/nx-X11/programs/Xserver/randr/randr.c ++++ b/nx-X11/programs/Xserver/randr/randr.c +@@ -125,6 +125,8 @@ RRCloseScreen (int i, ScreenPtr pScreen) + for (j = pScrPriv->numOutputs - 1; j >= 0; j--) + RROutputDestroy (pScrPriv->outputs[j]); + ++ xfree (pScrPriv->crtcs); ++ xfree (pScrPriv->outputs); + xfree (pScrPriv); + RRNScreens -= 1; /* ok, one fewer screen with RandR running */ + return (*pScreen->CloseScreen) (i, pScreen); diff --git a/debian/patches/series b/debian/patches/series index c91269b..d24ed1f 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -138,6 +138,7 @@ 1210-CVE-2015-3418-dix-Allow-zero-height-PutImage-re.full.patch 1250_nx-X11_Bug-51375-Xorg-doesn_t-set-status-for-RR.full.patch 1251_nx-X11_Drop-a-reference-to-user-mode-after-crea.full.patch +1252_nx-X11_Free-randr-crtc-and-output-pointer-array.full.patch 9900-dxpc-license-history.full+lite.patch 0016_nx-X11_install-location.debian.patch 0102_xserver-xext_set-securitypolicy-path.debian.patch -- Alioth's /srv/git/code.x2go.org/nx-libs.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/nx-libs.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch 3.5.0.x in repository nx-libs. commit 09cb7b2d2aa35c6353202e57867f1970df9f5ec2 Author: Julien Cristau <jcristau@debian.org> Date: Fri Jul 3 23:53:25 2015 +0200 nx-X11: Backport: randr: fix server crash in RRGetScreenInfo We don't return rates to randr < 1.1 clients, so don't allocate space for them. This fixes a FatalError due to not all allocated space being used. X.Org bug#21861 <http://bugs.freedesktop.org/show_bug.cgi?id=21861> Reported-by: Guillaume Quintin <coincoin169g@gmail.com> Signed-off-by: Julien Cristau <jcristau@debian.org> Backported from Arctica GH 3.6.x branch. v2: backport to nx-libs 3.6.x (Ulrich Sibiller) v3: backport to nx-libs 3.5.0.x (Mihai Moldovan) --- debian/changelog | 6 ++++ ...r-fix-server-crash-in-RRGetScreenInf.full.patch | 36 ++++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 43 insertions(+) diff --git a/debian/changelog b/debian/changelog index 3802f15..7b82e2d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -287,6 +287,12 @@ nx-libs (2:3.5.0.32-0x2go1) UNRELEASED; urgency=low v3: backport to nx-libs 3.5.0.x (Mihai Moldovan) Adds: - 1253_nx-X11_randr-check-for-virtual-size-limits-befo.full.patch + * nx-X11: randr: fix server crash in RRGetScreenInfo + Backported from Arctica GH 3.6.x branch. + v2: backport to nx-libs 3.6.x (Ulrich Sibiller) + v3: backport to nx-libs 3.5.0.x (Mihai Moldovan) + Adds: + - 1254_nx-X11_randr-fix-server-crash-in-RRGetScreenInf.full.patch -- X2Go Release Manager <git-admin@x2go.org> Tue, 17 Mar 2015 19:19:32 +0100 diff --git a/debian/patches/1254_nx-X11_randr-fix-server-crash-in-RRGetScreenInf.full.patch b/debian/patches/1254_nx-X11_randr-fix-server-crash-in-RRGetScreenInf.full.patch new file mode 100644 index 0000000..cab084d --- /dev/null +++ b/debian/patches/1254_nx-X11_randr-fix-server-crash-in-RRGetScreenInf.full.patch @@ -0,0 +1,36 @@ +commit faddfbec6ff331c3859e2f57040da4a8cf072baa +Author: Julien Cristau <jcristau@debian.org> +Date: Fri May 22 09:54:38 2009 +0200 + + Backport: randr: fix server crash in RRGetScreenInfo + + We don't return rates to randr < 1.1 clients, so don't allocate space + for them. This fixes a FatalError due to not all allocated space being + used. + + X.Org bug#21861 <http://bugs.freedesktop.org/show_bug.cgi?id=21861> + + Reported-by: Guillaume Quintin <coincoin169g@gmail.com> + Signed-off-by: Julien Cristau <jcristau@debian.org> + + Backported from Arctica GH 3.6.x branch. + + v2: backport to nx-libs 3.6.x (Ulrich Sibiller) + v3: backport to nx-libs 3.5.0.x (Mihai Moldovan) + +diff --git a/nx-X11/programs/Xserver/randr/rrscreen.c b/nx-X11/programs/Xserver/randr/rrscreen.c +index 9bea97b..20eed11 100644 +--- a/nx-X11/programs/Xserver/randr/rrscreen.c ++++ b/nx-X11/programs/Xserver/randr/rrscreen.c +@@ -677,8 +677,9 @@ ProcRRGetScreenInfo (ClientPtr client) + rep.sizeID = pData->size; + rep.rate = pData->refresh; + +- extraLen = (rep.nSizes * sizeof (xScreenSizes) + +- rep.nrateEnts * sizeof (CARD16)); ++ extraLen = rep.nSizes * sizeof (xScreenSizes); ++ if (has_rate) ++ extraLen += rep.nrateEnts * sizeof (CARD16); + + if (extraLen) + { diff --git a/debian/patches/series b/debian/patches/series index 61a6382..8169c80 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -140,6 +140,7 @@ 1251_nx-X11_Drop-a-reference-to-user-mode-after-crea.full.patch 1252_nx-X11_Free-randr-crtc-and-output-pointer-array.full.patch 1253_nx-X11_randr-check-for-virtual-size-limits-befo.full.patch +1254_nx-X11_randr-fix-server-crash-in-RRGetScreenInf.full.patch 9900-dxpc-license-history.full+lite.patch 0016_nx-X11_install-location.debian.patch 0102_xserver-xext_set-securitypolicy-path.debian.patch -- Alioth's /srv/git/code.x2go.org/nx-libs.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/nx-libs.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch 3.5.0.x in repository nx-libs. commit 44b913275b60fa4e95d76c2918426d7f7d70752a Author: Tiago Vignatti <tiago.vignatti@nokia.com> Date: Fri Jul 3 23:40:57 2015 +0200 nx-X11: Backport: randr: check for virtual size limits before set crtc Return a error if the screen is configured to an invalid size. Signed-off-by: Tiago Vignatti <tiago.vignatti@nokia.com> Reviewed-by: Adam Jackson <ajax@redhat.com> Reviewed-by: Daniel Stone <daniel@fooishbar.org> Signed-off-by: Keith Packard <keithp@keithp.com> Backported from Arctica GH 3.6.x branch. v2: backport to nx-libs 3.6.x (Ulrich Sibiller) v3: backport to nx-libs 3.5.0.x (Mihai Moldovan) --- debian/changelog | 6 +++ ...r-check-for-virtual-size-limits-befo.full.patch | 41 ++++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 48 insertions(+) diff --git a/debian/changelog b/debian/changelog index e410722..3802f15 100644 --- a/debian/changelog +++ b/debian/changelog @@ -281,6 +281,12 @@ nx-libs (2:3.5.0.32-0x2go1) UNRELEASED; urgency=low v3: backport to nx-libs 3.5.0.x (Mihai Moldovan) Adds: - 1252_nx-X11_Free-randr-crtc-and-output-pointer-array.full.patch + * nx-X11: randr: check for virtual size limits before set crtc + Backported from Arctica GH 3.6.x branch. + v2: backport to nx-libs 3.6.x (Ulrich Sibiller) + v3: backport to nx-libs 3.5.0.x (Mihai Moldovan) + Adds: + - 1253_nx-X11_randr-check-for-virtual-size-limits-befo.full.patch -- X2Go Release Manager <git-admin@x2go.org> Tue, 17 Mar 2015 19:19:32 +0100 diff --git a/debian/patches/1253_nx-X11_randr-check-for-virtual-size-limits-befo.full.patch b/debian/patches/1253_nx-X11_randr-check-for-virtual-size-limits-befo.full.patch new file mode 100644 index 0000000..d89432c --- /dev/null +++ b/debian/patches/1253_nx-X11_randr-check-for-virtual-size-limits-befo.full.patch @@ -0,0 +1,41 @@ +commit da678db0ef57c45f1bbe1c0e8f14da70746ed2cd +Author: Tiago Vignatti <tiago.vignatti@nokia.com> +Date: Fri Dec 17 16:09:35 2010 +0200 + + Backport: randr: check for virtual size limits before set crtc + + Return a error if the screen is configured to an invalid size. + + Signed-off-by: Tiago Vignatti <tiago.vignatti@nokia.com> + Reviewed-by: Adam Jackson <ajax@redhat.com> + Reviewed-by: Daniel Stone <daniel@fooishbar.org> + Signed-off-by: Keith Packard <keithp@keithp.com> + + Backported from Arctica GH 3.6.x branch. + + v2: backport to nx-libs 3.6.x (Ulrich Sibiller) + v3: backport to nx-libs 3.5.0.x (Mihai Moldovan) + +diff --git a/nx-X11/programs/Xserver/randr/rrscreen.c b/nx-X11/programs/Xserver/randr/rrscreen.c +index 9b3935e..9bea97b 100644 +--- a/nx-X11/programs/Xserver/randr/rrscreen.c ++++ b/nx-X11/programs/Xserver/randr/rrscreen.c +@@ -938,6 +938,18 @@ ProcRRSetScreenConfig (ClientPtr client) + width = mode->mode.height; + height = mode->mode.width; + } ++ ++ if (width < pScrPriv->minWidth || pScrPriv->maxWidth < width) { ++ client->errorValue = width; ++ free(pData); ++ return BadValue; ++ } ++ if (height < pScrPriv->minHeight || pScrPriv->maxHeight < height) { ++ client->errorValue = height; ++ free(pData); ++ return BadValue; ++ } ++ + if (width != pScreen->width || height != pScreen->height) + { + int c; diff --git a/debian/patches/series b/debian/patches/series index d24ed1f..61a6382 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -139,6 +139,7 @@ 1250_nx-X11_Bug-51375-Xorg-doesn_t-set-status-for-RR.full.patch 1251_nx-X11_Drop-a-reference-to-user-mode-after-crea.full.patch 1252_nx-X11_Free-randr-crtc-and-output-pointer-array.full.patch +1253_nx-X11_randr-check-for-virtual-size-limits-befo.full.patch 9900-dxpc-license-history.full+lite.patch 0016_nx-X11_install-location.debian.patch 0102_xserver-xext_set-securitypolicy-path.debian.patch -- Alioth's /srv/git/code.x2go.org/nx-libs.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/nx-libs.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch 3.5.0.x in repository nx-libs. commit e2f5d079ddb22a10a52731330309cd5c32128c21 Author: Alan Coopersmith <alan.coopersmith@oracle.com> Date: Sat Jul 4 00:11:59 2015 +0200 nx-X11: Backport: RRModeCreate: plug memory leak of newModes if AddResource fails Reported by parfait 1.0: Error: Memory leak (CWE 401) Memory leak of pointer 'newModes' allocated with realloc(((char*)modes), ((num_modes + 1) * 8)) at line 93 of randr/rrmode.c in function 'RRModeCreate'. pointer allocated at line 82 with realloc(((char*)modes), ((num_modes + 1) * 8)). Error: Memory leak (CWE 401) Memory leak of pointer 'newModes' allocated with malloc(8) at line 93 of randr/rrmode.c in function 'RRModeCreate'. pointer allocated at line 84 with malloc(8). Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Keith Packard <keithp@keithp.com> Backported from Arctica GH 3.6.x branch. v2: backport to nx-libs 3.6.x (Ulrich Sibiller) v3: backport to nx-libs 3.5.0.x (Mihai Moldovan) --- debian/changelog | 6 +++ ...deCreate-plug-memory-leak-of-newMode.full.patch | 42 ++++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 49 insertions(+) diff --git a/debian/changelog b/debian/changelog index 7b82e2d..62a064c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -293,6 +293,12 @@ nx-libs (2:3.5.0.32-0x2go1) UNRELEASED; urgency=low v3: backport to nx-libs 3.5.0.x (Mihai Moldovan) Adds: - 1254_nx-X11_randr-fix-server-crash-in-RRGetScreenInf.full.patch + * nx-X11: RRModeCreate: plug memory leak of newModes if AddResource fails + Backported from Arctica GH 3.6.x branch. + v2: backport to nx-libs 3.6.x (Ulrich Sibiller) + v3: backport to nx-libs 3.5.0.x (Mihai Moldovan) + Adds: + - 1255_nx-X11_RRModeCreate-plug-memory-leak-of-newMode.full.patch -- X2Go Release Manager <git-admin@x2go.org> Tue, 17 Mar 2015 19:19:32 +0100 diff --git a/debian/patches/1255_nx-X11_RRModeCreate-plug-memory-leak-of-newMode.full.patch b/debian/patches/1255_nx-X11_RRModeCreate-plug-memory-leak-of-newMode.full.patch new file mode 100644 index 0000000..f33dce9 --- /dev/null +++ b/debian/patches/1255_nx-X11_RRModeCreate-plug-memory-leak-of-newMode.full.patch @@ -0,0 +1,42 @@ +commit 0fc419314b3bbafa873207dafa57ce92b4b9e1e1 +Author: Alan Coopersmith <alan.coopersmith@oracle.com> +Date: Sat Jul 14 11:21:15 2012 -0700 + + Backport: RRModeCreate: plug memory leak of newModes if AddResource fails + + Reported by parfait 1.0: + + Error: Memory leak (CWE 401) + Memory leak of pointer 'newModes' allocated with realloc(((char*)modes), ((num_modes + 1) * 8)) + at line 93 of randr/rrmode.c in function 'RRModeCreate'. + pointer allocated at line 82 with realloc(((char*)modes), ((num_modes + 1) * 8)). + Error: Memory leak (CWE 401) + Memory leak of pointer 'newModes' allocated with malloc(8) + at line 93 of randr/rrmode.c in function 'RRModeCreate'. + pointer allocated at line 84 with malloc(8). + + Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> + Reviewed-by: Keith Packard <keithp@keithp.com> + + Backported from Arctica GH 3.6.x branch. + + v2: backport to nx-libs 3.6.x (Ulrich Sibiller) + v3: backport to nx-libs 3.5.0.x (Mihai Moldovan) + +diff --git a/nx-X11/programs/Xserver/randr/rrmode.c b/nx-X11/programs/Xserver/randr/rrmode.c +index 09c0113..43ffe07 100644 +--- a/nx-X11/programs/Xserver/randr/rrmode.c ++++ b/nx-X11/programs/Xserver/randr/rrmode.c +@@ -98,8 +98,10 @@ RRModeCreate (xRRModeInfo *modeInfo, + } + + mode->mode.id = FakeClientID(0); +- if (!AddResource (mode->mode.id, RRModeType, (pointer) mode)) +- return NULL; ++ if (!AddResource(mode->mode.id, RRModeType, (pointer) mode)) { ++ free(newModes); ++ return NULL; ++ } + modes = newModes; + modes[num_modes++] = mode; + diff --git a/debian/patches/series b/debian/patches/series index 8169c80..95e6985 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -141,6 +141,7 @@ 1252_nx-X11_Free-randr-crtc-and-output-pointer-array.full.patch 1253_nx-X11_randr-check-for-virtual-size-limits-befo.full.patch 1254_nx-X11_randr-fix-server-crash-in-RRGetScreenInf.full.patch +1255_nx-X11_RRModeCreate-plug-memory-leak-of-newMode.full.patch 9900-dxpc-license-history.full+lite.patch 0016_nx-X11_install-location.debian.patch 0102_xserver-xext_set-securitypolicy-path.debian.patch -- Alioth's /srv/git/code.x2go.org/nx-libs.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/nx-libs.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch 3.5.0.x in repository nx-libs. commit ab58e5781d4e64169b8f6931bf7535cbcf439573 Author: Aaron Plattner <aplattner@nvidia.com> Date: Sat Jul 4 00:53:37 2015 +0200 nx-X11: Backport: randr: Fix REQUEST vs. REQUEST_SIZE_MATCH mismatch ProcRRGetScreenSizeRange uses REQUEST(xRRGetScreenSizeRangeReq) followed by REQUEST_SIZE_MATCH(xRRGetScreenInfoReq). This happens to work out because both requests have the same size, so this is not a functional change, just a cosmetic one. Signed-off-by: Aaron Plattner <aplattner@nvidia.com> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> Signed-off-by: Keith Packard <keithp@keithp.com> Backported from Arctica GH 3.6.x branch. v2: backport to nx-libs 3.6.x (Ulrich Sibiller) v3: backport to nx-libs 3.5.0.x (Mihai Moldovan) --- debian/changelog | 6 ++++ ...r-Fix-REQUEST-vs-REQUEST_SIZE_MATCH-.full.patch | 33 ++++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 40 insertions(+) diff --git a/debian/changelog b/debian/changelog index 4cfcaca..a0babaf 100644 --- a/debian/changelog +++ b/debian/changelog @@ -305,6 +305,12 @@ nx-libs (2:3.5.0.32-0x2go1) UNRELEASED; urgency=low v3: backport to nx-libs 3.5.0.x (Mihai Moldovan) Adds: - 1256_nx-X11_ProcRRGetScreenInfo-swap-configTimestamp.full.patch + * nx-X11: randr: Fix REQUEST vs. REQUEST_SIZE_MATCH mismatch + Backported from Arctica GH 3.6.x branch. + v2: backport to nx-libs 3.6.x (Ulrich Sibiller) + v3: backport to nx-libs 3.5.0.x (Mihai Moldovan) + Adds: + - 1257_nx-X11_randr-Fix-REQUEST-vs-REQUEST_SIZE_MATCH-.full.patch -- X2Go Release Manager <git-admin@x2go.org> Tue, 17 Mar 2015 19:19:32 +0100 diff --git a/debian/patches/1257_nx-X11_randr-Fix-REQUEST-vs-REQUEST_SIZE_MATCH-.full.patch b/debian/patches/1257_nx-X11_randr-Fix-REQUEST-vs-REQUEST_SIZE_MATCH-.full.patch new file mode 100644 index 0000000..1751561 --- /dev/null +++ b/debian/patches/1257_nx-X11_randr-Fix-REQUEST-vs-REQUEST_SIZE_MATCH-.full.patch @@ -0,0 +1,33 @@ +commit 9e2ac01a4e9bd39e5127b35bc263d5544c6de7a2 +Author: Aaron Plattner <aplattner@nvidia.com> +Date: Fri Jun 29 13:33:58 2012 -0700 + + Backport: randr: Fix REQUEST vs. REQUEST_SIZE_MATCH mismatch + + ProcRRGetScreenSizeRange uses REQUEST(xRRGetScreenSizeRangeReq) followed by + REQUEST_SIZE_MATCH(xRRGetScreenInfoReq). This happens to work out because both + requests have the same size, so this is not a functional change, just a cosmetic + one. + + Signed-off-by: Aaron Plattner <aplattner@nvidia.com> + Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> + Signed-off-by: Keith Packard <keithp@keithp.com> + + Backported from Arctica GH 3.6.x branch. + + v2: backport to nx-libs 3.6.x (Ulrich Sibiller) + v3: backport to nx-libs 3.5.0.x (Mihai Moldovan) + +diff --git a/nx-X11/programs/Xserver/randr/rrscreen.c b/nx-X11/programs/Xserver/randr/rrscreen.c +index 011b97f..e0eb076 100644 +--- a/nx-X11/programs/Xserver/randr/rrscreen.c ++++ b/nx-X11/programs/Xserver/randr/rrscreen.c +@@ -228,7 +228,7 @@ ProcRRGetScreenSizeRange (ClientPtr client) + rrScrPrivPtr pScrPriv; + int rc; + +- REQUEST_SIZE_MATCH(xRRGetScreenInfoReq); ++ REQUEST_SIZE_MATCH(xRRGetScreenSizeRangeReq); + #ifndef NXAGENT_SERVER + rc = dixLookupWindow(&pWin, stuff->window, client, DixReadAccess); + #else diff --git a/debian/patches/series b/debian/patches/series index e4817ac..38fa107 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -143,6 +143,7 @@ 1254_nx-X11_randr-fix-server-crash-in-RRGetScreenInf.full.patch 1255_nx-X11_RRModeCreate-plug-memory-leak-of-newMode.full.patch 1256_nx-X11_ProcRRGetScreenInfo-swap-configTimestamp.full.patch +1257_nx-X11_randr-Fix-REQUEST-vs-REQUEST_SIZE_MATCH-.full.patch 9900-dxpc-license-history.full+lite.patch 0016_nx-X11_install-location.debian.patch 0102_xserver-xext_set-securitypolicy-path.debian.patch -- Alioth's /srv/git/code.x2go.org/nx-libs.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/nx-libs.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch 3.5.0.x in repository nx-libs. commit f3079befb8bb33cb1c3221143dfa93baee5a4248 Author: Alan Coopersmith <alan.coopersmith@oracle.com> Date: Sat Jul 4 00:39:35 2015 +0200 nx-X11: Backport: ProcRRGetScreenInfo: swap configTimestamp as well Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Keith Packard <keithp@keithp.com> Tested-by: Daniel Stone <daniel@fooishbar.org> Backported from Arctica GH 3.6.x branch. v2: backport to nx-libs 3.6.x (Ulrich Sibiller) v3: backport to nx-libs 3.5.0.x (Mihai Moldovan) --- debian/changelog | 6 +++++ ...RRGetScreenInfo-swap-configTimestamp.full.patch | 27 ++++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 34 insertions(+) diff --git a/debian/changelog b/debian/changelog index 62a064c..4cfcaca 100644 --- a/debian/changelog +++ b/debian/changelog @@ -299,6 +299,12 @@ nx-libs (2:3.5.0.32-0x2go1) UNRELEASED; urgency=low v3: backport to nx-libs 3.5.0.x (Mihai Moldovan) Adds: - 1255_nx-X11_RRModeCreate-plug-memory-leak-of-newMode.full.patch + * nx-X11: ProcRRGetScreenInfo: swap configTimestamp as well + Backported from Arctica GH 3.6.x branch. + v2: backport to nx-libs 3.6.x (Ulrich Sibiller) + v3: backport to nx-libs 3.5.0.x (Mihai Moldovan) + Adds: + - 1256_nx-X11_ProcRRGetScreenInfo-swap-configTimestamp.full.patch -- X2Go Release Manager <git-admin@x2go.org> Tue, 17 Mar 2015 19:19:32 +0100 diff --git a/debian/patches/1256_nx-X11_ProcRRGetScreenInfo-swap-configTimestamp.full.patch b/debian/patches/1256_nx-X11_ProcRRGetScreenInfo-swap-configTimestamp.full.patch new file mode 100644 index 0000000..c00b78a --- /dev/null +++ b/debian/patches/1256_nx-X11_ProcRRGetScreenInfo-swap-configTimestamp.full.patch @@ -0,0 +1,27 @@ +commit bd5754f94a9b48c246d115eaed0d0e8bece95aca +Author: Alan Coopersmith <alan.coopersmith@oracle.com> +Date: Mon Jul 9 19:12:42 2012 -0700 + + Backport: ProcRRGetScreenInfo: swap configTimestamp as well + + Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> + Reviewed-by: Keith Packard <keithp@keithp.com> + Tested-by: Daniel Stone <daniel@fooishbar.org> + + Backported from Arctica GH 3.6.x branch. + + v2: backport to nx-libs 3.6.x (Ulrich Sibiller) + v3: backport to nx-libs 3.5.0.x (Mihai Moldovan) + +diff --git a/nx-X11/programs/Xserver/randr/rrscreen.c b/nx-X11/programs/Xserver/randr/rrscreen.c +index 20eed11..011b97f 100644 +--- a/nx-X11/programs/Xserver/randr/rrscreen.c ++++ b/nx-X11/programs/Xserver/randr/rrscreen.c +@@ -745,6 +745,7 @@ ProcRRGetScreenInfo (ClientPtr client) + swaps(&rep.sequenceNumber, n); + swapl(&rep.length, n); + swapl(&rep.timestamp, n); ++ swapl(&rep.configTimestamp, n); + swaps(&rep.rotation, n); + swaps(&rep.nSizes, n); + swaps(&rep.sizeID, n); diff --git a/debian/patches/series b/debian/patches/series index 95e6985..e4817ac 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -142,6 +142,7 @@ 1253_nx-X11_randr-check-for-virtual-size-limits-befo.full.patch 1254_nx-X11_randr-fix-server-crash-in-RRGetScreenInf.full.patch 1255_nx-X11_RRModeCreate-plug-memory-leak-of-newMode.full.patch +1256_nx-X11_ProcRRGetScreenInfo-swap-configTimestamp.full.patch 9900-dxpc-license-history.full+lite.patch 0016_nx-X11_install-location.debian.patch 0102_xserver-xext_set-securitypolicy-path.debian.patch -- Alioth's /srv/git/code.x2go.org/nx-libs.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/nx-libs.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch 3.5.0.x in repository nx-libs. commit 558e45c1516f66d8084215b319d214f94faf09bc Author: Keith Packard <keithp@keithp.com> Date: Sat Jul 4 01:22:02 2015 +0200 nx-X11: Backport: randr: Clean up compiler warnings about unused and shadowing variables set but not used variables shadowing a previous local A hidden problem was that the VERIFY_RR_* macros define local 'rc' variables, any other local definitions for those would be shadowed and generate warnings from gcc. I've renamed the other locals 'ret' instead of 'rc'. Signed-off-by: Keith Packard <keithp@keithp.com> Backported from Arctica GH 3.6.x branch. v2: backport to nx-libs 3.6.x (Ulrich Sibiller) v3: backport to nx-libs 3.5.0.x (Mihai Moldovan) --- debian/changelog | 7 ++ ...r-Clean-up-compiler-warnings-about-u.full.patch | 117 ++++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 125 insertions(+) diff --git a/debian/changelog b/debian/changelog index a0babaf..ddfecbd 100644 --- a/debian/changelog +++ b/debian/changelog @@ -311,6 +311,13 @@ nx-libs (2:3.5.0.32-0x2go1) UNRELEASED; urgency=low v3: backport to nx-libs 3.5.0.x (Mihai Moldovan) Adds: - 1257_nx-X11_randr-Fix-REQUEST-vs-REQUEST_SIZE_MATCH-.full.patch + * nx-X11: randr: Clean up compiler warnings about unused and shadowing + variables + Backported from Arctica GH 3.6.x branch. + v2: backport to nx-libs 3.6.x (Ulrich Sibiller) + v3: backport to nx-libs 3.5.0.x (Mihai Moldovan) + Adds: + - 1258_nx-X11_randr-Clean-up-compiler-warnings-about-u.full.patch -- X2Go Release Manager <git-admin@x2go.org> Tue, 17 Mar 2015 19:19:32 +0100 diff --git a/debian/patches/1258_nx-X11_randr-Clean-up-compiler-warnings-about-u.full.patch b/debian/patches/1258_nx-X11_randr-Clean-up-compiler-warnings-about-u.full.patch new file mode 100644 index 0000000..38869ca --- /dev/null +++ b/debian/patches/1258_nx-X11_randr-Clean-up-compiler-warnings-about-u.full.patch @@ -0,0 +1,117 @@ +commit 9dbd74793f4b125d56e3d0f63a845b5f7550d3b4 +Author: Keith Packard <keithp@keithp.com> +Date: Thu Jun 21 18:42:46 2012 -0700 + + Backport: randr: Clean up compiler warnings about unused and shadowing variables + + set but not used variables + shadowing a previous local + + A hidden problem was that the VERIFY_RR_* macros define local 'rc' + variables, any other local definitions for those would be shadowed and + generate warnings from gcc. I've renamed the other locals 'ret' + instead of 'rc'. + + Signed-off-by: Keith Packard <keithp@keithp.com> + + Backported from Arctica GH 3.6.x branch. + + v2: backport to nx-libs 3.6.x (Ulrich Sibiller) + v3: backport to nx-libs 3.5.0.x (Mihai Moldovan) + +diff --git a/nx-X11/programs/Xserver/randr/rrcrtc.c b/nx-X11/programs/Xserver/randr/rrcrtc.c +index fb82a80..8a34962 100644 +--- a/nx-X11/programs/Xserver/randr/rrcrtc.c ++++ b/nx-X11/programs/Xserver/randr/rrcrtc.c +@@ -642,7 +642,6 @@ ProcRRSetCrtcConfig (ClientPtr client) + int numOutputs; + RROutputPtr *outputs = NULL; + RROutput *outputIds; +- TimeStamp configTime; + TimeStamp time; + Rotation rotation; + int i, j; +@@ -745,7 +744,6 @@ ProcRRSetCrtcConfig (ClientPtr client) + pScrPriv = rrGetScrPriv(pScreen); + + time = ClientTimeToServerTime(stuff->timestamp); +- configTime = ClientTimeToServerTime(stuff->configTimestamp); + + if (!pScrPriv) + { +@@ -754,19 +752,6 @@ ProcRRSetCrtcConfig (ClientPtr client) + goto sendReply; + } + +-#if 0 +- /* +- * if the client's config timestamp is not the same as the last config +- * timestamp, then the config information isn't up-to-date and +- * can't even be validated +- */ +- if (CompareTimeStamps (configTime, pScrPriv->lastConfigTime) != 0) +- { +- rep.status = RRSetConfigInvalidConfigTime; +- goto sendReply; +- } +-#endif +- + /* + * Validate requested rotation + */ +diff --git a/nx-X11/programs/Xserver/randr/rrinfo.c b/nx-X11/programs/Xserver/randr/rrinfo.c +index 7e77d39..470e1bb 100644 +--- a/nx-X11/programs/Xserver/randr/rrinfo.c ++++ b/nx-X11/programs/Xserver/randr/rrinfo.c +@@ -83,6 +83,7 @@ RRScanOldConfig (ScreenPtr pScreen, Rotation rotations) + int i; + CARD16 minWidth = MAXSHORT, minHeight = MAXSHORT; + CARD16 maxWidth = 0, maxHeight = 0; ++ CARD16 width, height; + + /* + * First time through, create a crtc and output and hook +@@ -153,11 +154,11 @@ RRScanOldConfig (ScreenPtr pScreen, Rotation rotations) + /* find size bounds */ + for (i = 0; i < output->numModes + output->numUserModes; i++) + { +- RRModePtr mode = (i < output->numModes ? ++ mode = (i < output->numModes ? + output->modes[i] : + output->userModes[i-output->numModes]); +- CARD16 width = mode->mode.width; +- CARD16 height = mode->mode.height; ++ width = mode->mode.width; ++ height = mode->mode.height; + + if (width < minWidth) minWidth = width; + if (width > maxWidth) maxWidth = width; +diff --git a/nx-X11/programs/Xserver/randr/rrmode.c b/nx-X11/programs/Xserver/randr/rrmode.c +index 43ffe07..db0af33 100644 +--- a/nx-X11/programs/Xserver/randr/rrmode.c ++++ b/nx-X11/programs/Xserver/randr/rrmode.c +@@ -194,7 +194,7 @@ RRModesForScreen (ScreenPtr pScreen, int *num_ret) + for (o = 0; o < pScrPriv->numOutputs; o++) + { + RROutputPtr output = pScrPriv->outputs[o]; +- int m, n; ++ int n; + + for (m = 0; m < output->numModes + output->numUserModes; m++) + { +@@ -299,7 +299,6 @@ ProcRRCreateMode (ClientPtr client) + xRRCreateModeReply rep; + WindowPtr pWin; + ScreenPtr pScreen; +- rrScrPrivPtr pScrPriv; + xRRModeInfo *modeInfo; + long units_after; + char *name; +@@ -317,7 +316,6 @@ ProcRRCreateMode (ClientPtr client) + return rc; + + pScreen = pWin->drawable.pScreen; +- pScrPriv = rrGetScrPriv(pScreen); + + modeInfo = &stuff->modeInfo; + name = (char *) (stuff + 1); diff --git a/debian/patches/series b/debian/patches/series index 38fa107..150a303 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -144,6 +144,7 @@ 1255_nx-X11_RRModeCreate-plug-memory-leak-of-newMode.full.patch 1256_nx-X11_ProcRRGetScreenInfo-swap-configTimestamp.full.patch 1257_nx-X11_randr-Fix-REQUEST-vs-REQUEST_SIZE_MATCH-.full.patch +1258_nx-X11_randr-Clean-up-compiler-warnings-about-u.full.patch 9900-dxpc-license-history.full+lite.patch 0016_nx-X11_install-location.debian.patch 0102_xserver-xext_set-securitypolicy-path.debian.patch -- Alioth's /srv/git/code.x2go.org/nx-libs.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/nx-libs.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch 3.5.0.x in repository nx-libs. commit ab38d9b595fe4dadb031fbda51291ca8bd104869 Author: Keith Packard <keithp@keithp.com> Date: Sat Jul 4 01:49:55 2015 +0200 nx-X11: Backport: Make RANDR 'set' timestamps follow client specified time. Bug 21987. The lastSetTime value which indicates when the configuration within the server was last changed was not getting set in the appropriate RandR requests. Signed-off-by: Keith Packard <keithp@keithp.com> Backported from Arctica GH 3.6.x branch. v2: backport to nx-libs 3.6.x (Ulrich Sibiller) v3: backport to nx-libs 3.5.0.x (Mihai Moldovan) --- debian/changelog | 6 ++ ...-RANDR-_set_-timestamps-follow-clien.full.patch | 66 ++++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 73 insertions(+) diff --git a/debian/changelog b/debian/changelog index ddfecbd..e7ad0e7 100644 --- a/debian/changelog +++ b/debian/changelog @@ -318,6 +318,12 @@ nx-libs (2:3.5.0.32-0x2go1) UNRELEASED; urgency=low v3: backport to nx-libs 3.5.0.x (Mihai Moldovan) Adds: - 1258_nx-X11_randr-Clean-up-compiler-warnings-about-u.full.patch + * nx-X11: Make RANDR 'set' timestamps follow client specified time. Bug 21987. + Backported from Arctica GH 3.6.x branch. + v2: backport to nx-libs 3.6.x (Ulrich Sibiller) + v3: backport to nx-libs 3.5.0.x (Mihai Moldovan) + Adds: + - 1259_nx-X11_Make-RANDR-_set_-timestamps-follow-clien.full.patch -- X2Go Release Manager <git-admin@x2go.org> Tue, 17 Mar 2015 19:19:32 +0100 diff --git a/debian/patches/1259_nx-X11_Make-RANDR-_set_-timestamps-follow-clien.full.patch b/debian/patches/1259_nx-X11_Make-RANDR-_set_-timestamps-follow-clien.full.patch new file mode 100644 index 0000000..e241196 --- /dev/null +++ b/debian/patches/1259_nx-X11_Make-RANDR-_set_-timestamps-follow-clien.full.patch @@ -0,0 +1,66 @@ +commit cf660f485eb478bcb7aaef3a538f2791e46662d9 +Author: Keith Packard <keithp@keithp.com> +Date: Thu May 28 14:43:27 2009 -0700 + + Backport: Make RANDR 'set' timestamps follow client specified time. Bug 21987. + + The lastSetTime value which indicates when the configuration within the + server was last changed was not getting set in the appropriate RandR + requests. + + Signed-off-by: Keith Packard <keithp@keithp.com> + + Backported from Arctica GH 3.6.x branch. + + v2: backport to nx-libs 3.6.x (Ulrich Sibiller) + v3: backport to nx-libs 3.5.0.x (Mihai Moldovan) + +diff --git a/nx-X11/programs/Xserver/randr/rrcrtc.c b/nx-X11/programs/Xserver/randr/rrcrtc.c +index 8a34962..bc1040c 100644 +--- a/nx-X11/programs/Xserver/randr/rrcrtc.c ++++ b/nx-X11/programs/Xserver/randr/rrcrtc.c +@@ -838,10 +838,8 @@ ProcRRSetCrtcConfig (ClientPtr client) + rep.status = RRSetConfigFailed; + goto sendReply; + } +- #ifdef NXAGENT_SERVER /* Bug 21987 */ +- pScrPriv->lastSetTime = time; +- #endif + rep.status = RRSetConfigSuccess; ++ pScrPriv->lastSetTime = time; + + sendReply: + if (outputs) +@@ -851,11 +849,7 @@ sendReply: + /* rep.status has already been filled in */ + rep.length = 0; + rep.sequenceNumber = client->sequence; +- #ifndef NXAGENT_SERVER /* Bug 21987 */ +- rep.newTimestamp = pScrPriv->lastConfigTime.milliseconds; +- #else + rep.newTimestamp = pScrPriv->lastSetTime.milliseconds; +- #endif + + if (client->swapped) + { +diff --git a/nx-X11/programs/Xserver/randr/rrscreen.c b/nx-X11/programs/Xserver/randr/rrscreen.c +index e0eb076..a3851bd 100644 +--- a/nx-X11/programs/Xserver/randr/rrscreen.c ++++ b/nx-X11/programs/Xserver/randr/rrscreen.c +@@ -977,15 +977,10 @@ ProcRRSetScreenConfig (ClientPtr client) + + if (!RRCrtcSet (crtc, mode, 0, 0, stuff->rotation, 1, &output)) + rep.status = RRSetConfigFailed; +- #ifndef NXAGENT_SERVER /* Bug 21987 */ +- else +- rep.status = RRSetConfigSuccess; +- #else + else { +- rep.status = RRSetConfigSuccess; + pScrPriv->lastSetTime = time; ++ rep.status = RRSetConfigSuccess; + } +- #endif + + /* + * XXX Configure other crtcs to mirror as much as possible diff --git a/debian/patches/series b/debian/patches/series index 150a303..ab43311 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -145,6 +145,7 @@ 1256_nx-X11_ProcRRGetScreenInfo-swap-configTimestamp.full.patch 1257_nx-X11_randr-Fix-REQUEST-vs-REQUEST_SIZE_MATCH-.full.patch 1258_nx-X11_randr-Clean-up-compiler-warnings-about-u.full.patch +1259_nx-X11_Make-RANDR-_set_-timestamps-follow-clien.full.patch 9900-dxpc-license-history.full+lite.patch 0016_nx-X11_install-location.debian.patch 0102_xserver-xext_set-securitypolicy-path.debian.patch -- Alioth's /srv/git/code.x2go.org/nx-libs.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/nx-libs.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch 3.5.0.x in repository nx-libs. commit 97494f162b86531410e060c794478e0e7201b87d Author: Peter Åstrand <astrand@cendio.se> Date: Sat Jul 4 02:17:16 2015 +0200 nx-X11: Backport: xserver: Avoid sending uninitialized padding data over the network Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Backported from Arctica GH 3.6.x branch. v2: backport to nx-libs 3.6.x (Ulrich Sibiller) v3: backport to nx-libs 3.5.0.x (Mihai Moldovan) --- debian/changelog | 6 + ...ver-Avoid-sending-uninitialized-padd.full.patch | 1055 ++++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 1062 insertions(+) diff --git a/debian/changelog b/debian/changelog index e7ad0e7..f69dbab 100644 --- a/debian/changelog +++ b/debian/changelog @@ -324,6 +324,12 @@ nx-libs (2:3.5.0.32-0x2go1) UNRELEASED; urgency=low v3: backport to nx-libs 3.5.0.x (Mihai Moldovan) Adds: - 1259_nx-X11_Make-RANDR-_set_-timestamps-follow-clien.full.patch + * nx-X11: xserver: Avoid sending uninitialized padding data over the network + Backported from Arctica GH 3.6.x branch. + v2: backport to nx-libs 3.6.x (Ulrich Sibiller) + v3: backport to nx-libs 3.5.0.x (Mihai Moldovan) + Adds: + - 1260_nx-X11_xserver-Avoid-sending-uninitialized-padd.full.patch -- X2Go Release Manager <git-admin@x2go.org> Tue, 17 Mar 2015 19:19:32 +0100 diff --git a/debian/patches/1260_nx-X11_xserver-Avoid-sending-uninitialized-padd.full.patch b/debian/patches/1260_nx-X11_xserver-Avoid-sending-uninitialized-padd.full.patch new file mode 100644 index 0000000..72900b4 --- /dev/null +++ b/debian/patches/1260_nx-X11_xserver-Avoid-sending-uninitialized-padd.full.patch @@ -0,0 +1,1055 @@ +commit d088698324d5e71cb93ccd429f084729ba07872c +Author: Peter Åstrand <astrand@cendio.se> +Date: Fri Feb 13 10:23:28 2009 +0100 + + Backport: xserver: Avoid sending uninitialized padding data over the network + + Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> + + Backported from Arctica GH 3.6.x branch. + + v2: backport to nx-libs 3.6.x (Ulrich Sibiller) + v3: backport to nx-libs 3.5.0.x (Mihai Moldovan) + +--- a/nx-X11/programs/Xserver/Xext/bigreq.c ++++ b/nx-X11/programs/Xserver/Xext/bigreq.c +@@ -94,6 +94,7 @@ ProcBigReqDispatch (client) + return BadRequest; + REQUEST_SIZE_MATCH(xBigReqEnableReq); + client->big_requests = TRUE; ++ memset(&rep, 0, sizeof(xBigReqEnableReply)); + rep.type = X_Reply; + rep.length = 0; + rep.sequenceNumber = client->sequence; +--- a/nx-X11/programs/Xserver/Xext/shape.c ++++ b/nx-X11/programs/Xserver/Xext/shape.c +@@ -292,6 +292,7 @@ ProcShapeQueryVersion (client) + register int n; + + REQUEST_SIZE_MATCH (xShapeQueryVersionReq); ++ memset(&rep, 0, sizeof(xShapeQueryVersionReply)); + rep.type = X_Reply; + rep.length = 0; + rep.sequenceNumber = client->sequence; +@@ -717,6 +718,7 @@ ProcShapeQueryExtents (client) + RegionPtr region; + + REQUEST_SIZE_MATCH (xShapeQueryExtentsReq); ++ memset(&rep, 0, sizeof(xShapeQueryExtentsReply)); + pWin = LookupWindow (stuff->window, client); + if (!pWin) + return BadWindow; +--- a/nx-X11/programs/Xserver/Xext/shm.c ++++ b/nx-X11/programs/Xserver/Xext/shm.c +@@ -346,6 +346,7 @@ ProcShmQueryVersion(client) + register int n; + + REQUEST_SIZE_MATCH(xShmQueryVersionReq); ++ memset(&rep, 0, sizeof(xShmQueryVersionReply)); + rep.type = X_Reply; + rep.length = 0; + rep.sequenceNumber = client->sequence; +--- a/nx-X11/programs/Xserver/Xext/sync.c ++++ b/nx-X11/programs/Xserver/Xext/sync.c +@@ -1346,6 +1346,7 @@ ProcSyncInitialize(client) + + REQUEST_SIZE_MATCH(xSyncInitializeReq); + ++ memset(&rep, 0, sizeof(xSyncInitializeReply)); + rep.type = X_Reply; + rep.sequenceNumber = client->sequence; + rep.majorVersion = SYNC_MAJOR_VERSION; +--- a/nx-X11/programs/Xserver/Xi/getvers.c ++++ b/nx-X11/programs/Xserver/Xi/getvers.c +@@ -114,6 +114,7 @@ ProcXGetExtensionVersion (client) + return Success; + } + ++ memset(&rep, 0, sizeof(xGetExtensionVersionReply)); + rep.repType = X_Reply; + rep.RepType = X_GetExtensionVersion; + rep.length = 0; +--- a/nx-X11/programs/Xserver/Xi/listdev.c ++++ b/nx-X11/programs/Xserver/Xi/listdev.c +@@ -114,6 +114,7 @@ ProcXListInputDevices (client) + + REQUEST_SIZE_MATCH(xListInputDevicesReq); + ++ memset(&rep, 0, sizeof(xListInputDevicesReply)); + rep.repType = X_Reply; + rep.RepType = X_ListInputDevices; + rep.length = 0; +@@ -128,7 +129,7 @@ ProcXListInputDevices (client) + SizeDeviceInfo (d, &namesize, &size); + + total_length = numdevs * sizeof (xDeviceInfo) + size + namesize; +- devbuf = (char *) xalloc (total_length); ++ devbuf = (char *) xcalloc (1, total_length); + classbuf = devbuf + (numdevs * sizeof (xDeviceInfo)); + namebuf = classbuf + size; + savbuf = devbuf; +--- a/nx-X11/programs/Xserver/Xi/opendev.c ++++ b/nx-X11/programs/Xserver/Xi/opendev.c +@@ -141,6 +141,7 @@ ProcXOpenDevice(client) + if (enableit && dev->inited && dev->startup) + (void)EnableDevice(dev); + ++ memset(&rep, 0, sizeof(xOpenDeviceReply)); + rep.repType = X_Reply; + rep.RepType = X_OpenDevice; + rep.sequenceNumber = client->sequence; +--- a/nx-X11/programs/Xserver/dix/devices.c ++++ b/nx-X11/programs/Xserver/dix/devices.c +@@ -1037,6 +1037,7 @@ ProcGetModifierMapping(ClientPtr client) + register KeyClassPtr keyc = inputInfo.keyboard->key; + + REQUEST_SIZE_MATCH(xReq); ++ memset(&rep, 0, sizeof(xGetModifierMappingReply)); + rep.type = X_Reply; + rep.numKeyPerModifier = keyc->maxKeysPerModifier; + rep.sequenceNumber = client->sequence; +@@ -1157,6 +1158,7 @@ ProcGetKeyboardMapping(ClientPtr client) + return BadValue; + } + ++ memset(&rep, 0, sizeof(xGetKeyboardMappingReply)); + rep.type = X_Reply; + rep.sequenceNumber = client->sequence; + rep.keySymsPerKeyCode = curKeySyms->mapWidth; +--- a/nx-X11/programs/Xserver/dix/dispatch.c ++++ b/nx-X11/programs/Xserver/dix/dispatch.c +@@ -579,6 +579,7 @@ ProcGetWindowAttributes(register ClientP + SecurityReadAccess); + if (!pWin) + return(BadWindow); ++ memset(&wa, 0, sizeof(xGetWindowAttributesReply)); + GetWindowAttributes(pWin, client, &wa); + WriteReplyToClient(client, sizeof(xGetWindowAttributesReply), &wa); + return(client->noClientException); +@@ -834,6 +835,7 @@ ProcGetGeometry(register ClientPtr clien + xGetGeometryReply rep; + int status; + ++ memset(&rep, 0, sizeof(xGetGeometryReply)); + if ((status = GetGeometry(client, &rep)) != Success) + return status; + +@@ -856,6 +858,7 @@ ProcQueryTree(register ClientPtr client) + SecurityReadAccess); + if (!pWin) + return(BadWindow); ++ memset(&reply, 0, sizeof(xQueryTreeReply)); + reply.type = X_Reply; + reply.root = WindowTable[pWin->drawable.pScreen->myNum]->drawable.id; + reply.sequenceNumber = client->sequence; +@@ -909,6 +912,7 @@ ProcInternAtom(register ClientPtr client + if (atom != BAD_RESOURCE) + { + xInternAtomReply reply; ++ memset(&reply, 0, sizeof(xInternAtomReply)); + reply.type = X_Reply; + reply.length = 0; + reply.sequenceNumber = client->sequence; +@@ -932,6 +936,7 @@ ProcGetAtomName(register ClientPtr clien + if ( (str = NameForAtom(stuff->id)) ) + { + len = strlen(str); ++ memset(&reply, 0, sizeof(xGetAtomNameReply)); + reply.type = X_Reply; + reply.length = (len + 3) >> 2; + reply.sequenceNumber = client->sequence; +@@ -1061,6 +1066,7 @@ ProcGetSelectionOwner(register ClientPtr + i = 0; + while ((i < NumCurrentSelections) && + CurrentSelections[i].selection != stuff->id) i++; ++ memset(&reply, 0, sizeof(xGetSelectionOwnerReply)); + reply.type = X_Reply; + reply.length = 0; + reply.sequenceNumber = client->sequence; +@@ -1112,6 +1118,7 @@ ProcConvertSelection(register ClientPtr + #endif + ) + { ++ memset(&event, 0, sizeof(xEvent)); + event.u.u.type = SelectionRequest; + event.u.selectionRequest.time = stuff->time; + event.u.selectionRequest.owner = +@@ -1125,6 +1132,7 @@ ProcConvertSelection(register ClientPtr + NoEventMask /* CantBeFiltered */, NullGrab)) + return (client->noClientException); + } ++ memset(&event, 0, sizeof(xEvent)); + event.u.u.type = SelectionNotify; + event.u.selectionNotify.time = stuff->time; + event.u.selectionNotify.requestor = stuff->requestor; +@@ -1221,6 +1229,7 @@ ProcTranslateCoords(register ClientPtr c + SecurityReadAccess); + if (!pDst) + return(BadWindow); ++ memset(&rep, 0, sizeof(xTranslateCoordsReply)); + rep.type = X_Reply; + rep.length = 0; + rep.sequenceNumber = client->sequence; +@@ -1370,6 +1379,7 @@ ProcQueryFont(register ClientPtr client) + return(BadAlloc); + } + ++ memset(reply, 0, rlength); + reply->type = X_Reply; + reply->length = (rlength - sizeof(xGenericReply)) >> 2; + reply->sequenceNumber = client->sequence; +@@ -2112,6 +2122,8 @@ DoGetImage(register ClientPtr client, in + return(BadValue); + } + SECURITY_VERIFY_DRAWABLE(pDraw, drawable, client, SecurityReadAccess); ++ ++ memset(&xgi, 0, sizeof(xGetImageReply)); + if(pDraw->type == DRAWABLE_WINDOW) + { + if( /* check for being viewable */ +@@ -2165,7 +2177,7 @@ DoGetImage(register ClientPtr client, in + xgi.length = length; + + if (im_return) { +- pBuf = (char *)xalloc(sz_xGetImageReply + length); ++ pBuf = (char *)xcalloc(1, sz_xGetImageReply + length); + if (!pBuf) + return (BadAlloc); + if (widthBytesLine == 0) +@@ -2205,6 +2217,7 @@ DoGetImage(register ClientPtr client, in + } + if(!(pBuf = (char *) ALLOCATE_LOCAL(length))) + return (BadAlloc); ++ memset(pBuf, 0, length); + WriteReplyToClient(client, sizeof (xGetImageReply), &xgi); + } + +@@ -2973,6 +2986,7 @@ ProcQueryColors(register ClientPtr clien + prgbs = (xrgb *)ALLOCATE_LOCAL(count * sizeof(xrgb)); + if(!prgbs && count) + return(BadAlloc); ++ memset(prgbs, 0, count * sizeof(xrgb)); + if( (retval = QueryColors(pcmp, count, (Pixel *)&stuff[1], prgbs)) ) + { + if (prgbs) DEALLOCATE_LOCAL(prgbs); +@@ -2984,6 +2998,8 @@ ProcQueryColors(register ClientPtr clien + return (retval); + } + } ++ ++ memset(&qcr, 0, sizeof(xQueryColorsReply)); + qcr.type = X_Reply; + qcr.length = (count * sizeof(xrgb)) >> 2; + qcr.sequenceNumber = client->sequence; +@@ -3201,6 +3217,7 @@ ProcQueryBestSize (register ClientPtr cl + pScreen = pDraw->pScreen; + (* pScreen->QueryBestSize)(stuff->class, &stuff->width, + &stuff->height, pScreen); ++ memset(&reply, 0, sizeof(xQueryBestSizeReply)); + reply.type = X_Reply; + reply.length = 0; + reply.sequenceNumber = client->sequence; +@@ -3976,6 +3993,7 @@ SendErrorToClient(ClientPtr client, unsi + { + xError rep; + ++ memset(&rep, 0, sizeof(xError)); + rep.type = X_Error; + rep.sequenceNumber = client->sequence; + rep.errorCode = errorCode; +--- a/nx-X11/programs/Xserver/dix/dixfonts.c ++++ b/nx-X11/programs/Xserver/dix/dixfonts.c +@@ -850,6 +850,7 @@ finish: + for (i = 0; i < nnames; i++) + stringLens += (names->length[i] <= 255) ? names->length[i] : 0; + ++ memset(&reply, 0, sizeof(xListFontsReply)); + reply.type = X_Reply; + reply.length = (stringLens + nnames + 3) >> 2; + reply.nFonts = nnames; +@@ -1102,6 +1103,7 @@ doListFontsWithInfo(ClientPtr client, LF + err = AllocError; + break; + } ++ memset(reply + c->length, 0, length - c->length); + c->reply = reply; + c->length = length; + } +--- a/nx-X11/programs/Xserver/dix/events.c ++++ b/nx-X11/programs/Xserver/dix/events.c +@@ -3733,6 +3733,7 @@ ProcGetInputFocus(ClientPtr client) + FocusClassPtr focus = inputInfo.keyboard->focus; + + REQUEST_SIZE_MATCH(xReq); ++ memset(&rep, 0, sizeof(xGetInputFocusReply)); + rep.type = X_Reply; + rep.length = 0; + rep.sequenceNumber = client->sequence; +@@ -3807,6 +3808,7 @@ ProcGrabPointer(ClientPtr client) + } + /* at this point, some sort of reply is guaranteed. */ + time = ClientTimeToServerTime(stuff->time); ++ memset(&rep, 0, sizeof(xGrabPointerReply)); + rep.type = X_Reply; + rep.sequenceNumber = client->sequence; + rep.length = 0; +@@ -3982,6 +3984,7 @@ ProcGrabKeyboard(ClientPtr client) + int result; + + REQUEST_SIZE_MATCH(xGrabKeyboardReq); ++ memset(&rep, 0, sizeof(xGrabKeyboardReply)); + #ifdef XCSECURITY + if (!SecurityCheckDeviceAccess(client, inputInfo.keyboard, TRUE)) + { +@@ -4036,6 +4039,7 @@ ProcQueryPointer(ClientPtr client) + return BadWindow; + if (mouse->valuator->motionHintWindow) + MaybeStopHint(mouse, client); ++ memset(&rep, 0, sizeof(xQueryPointerReply)); + rep.type = X_Reply; + rep.sequenceNumber = client->sequence; + rep.mask = mouse->button->state | inputInfo.keyboard->key->state; +--- a/nx-X11/programs/Xserver/dix/extension.c ++++ b/nx-X11/programs/Xserver/dix/extension.c +@@ -313,6 +313,7 @@ ProcQueryExtension(ClientPtr client) + + REQUEST_FIXED_SIZE(xQueryExtensionReq, stuff->nbytes); + ++ memset(&reply, 0, sizeof(xQueryExtensionReply)); + reply.type = X_Reply; + reply.length = 0; + reply.major_opcode = 0; +@@ -352,6 +353,7 @@ ProcListExtensions(ClientPtr client) + + REQUEST_SIZE_MATCH(xReq); + ++ memset(&reply, 0, sizeof(xListExtensionsReply)); + reply.type = X_Reply; + reply.nExtensions = 0; + reply.length = 0; +--- a/nx-X11/programs/Xserver/dix/main.c ++++ b/nx-X11/programs/Xserver/dix/main.c +@@ -543,6 +543,7 @@ CreateConnectionBlock() + char *pBuf; + + ++ memset(&setup, 0, sizeof(xConnSetup)); + /* Leave off the ridBase and ridMask, these must be sent with + connection */ + +@@ -583,6 +584,7 @@ CreateConnectionBlock() + while (--i >= 0) + *pBuf++ = 0; + ++ memset(&format, 0, sizeof(xPixmapFormat)); + for (i=0; i<screenInfo.numPixmapFormats; i++) + { + format.depth = screenInfo.formats[i].depth; +@@ -594,6 +596,8 @@ CreateConnectionBlock() + } + + connBlockScreenStart = sizesofar; ++ memset(&depth, 0, sizeof(xDepth)); ++ memset(&visual, 0, sizeof(xVisualType)); + for (i=0; i<screenInfo.numScreens; i++) + { + ScreenPtr pScreen; +--- a/nx-X11/programs/Xserver/dix/property.c ++++ b/nx-X11/programs/Xserver/dix/property.c +@@ -531,6 +531,7 @@ ProcGetProperty(ClientPtr client) + pProp = pProp->next; + } + ++ memset(&reply, 0, sizeof(xGetPropertyReply)); + reply.type = X_Reply; + reply.sequenceNumber = client->sequence; + if (!pProp) +--- a/nx-X11/programs/Xserver/dix/window.c ++++ b/nx-X11/programs/Xserver/dix/window.c +@@ -774,6 +774,7 @@ CreateWindow(Window wid, register Window + + if (SubSend(pParent)) + { ++ memset(&event, 0, sizeof(xEvent)); + event.u.u.type = CreateNotify; + event.u.createNotify.window = wid; + event.u.createNotify.parent = pParent->drawable.id; +@@ -841,6 +842,7 @@ CrushTree(WindowPtr pWin) + pParent = pChild->parent; + if (SubStrSend(pChild, pParent)) + { ++ memset(&event, 0, sizeof(xEvent)); + event.u.u.type = DestroyNotify; + event.u.destroyNotify.window = pChild->drawable.id; + DeliverEvents(pChild, &event, 1, NullWindow); +@@ -890,6 +892,7 @@ DeleteWindow(pointer value, XID wid) + pParent = pWin->parent; + if (wid && pParent && SubStrSend(pWin, pParent)) + { ++ memset(&event, 0, sizeof(xEvent)); + event.u.u.type = DestroyNotify; + event.u.destroyNotify.window = pWin->drawable.id; + DeliverEvents(pWin, &event, 1, NullWindow); +@@ -2306,6 +2309,7 @@ ConfigureWindow(register WindowPtr pWin, + #endif + )) + { ++ memset(&event, 0, sizeof(xEvent)); + event.u.u.type = ConfigureRequest; + event.u.configureRequest.window = pWin->drawable.id; + if (mask & CWSibling) +@@ -2350,6 +2354,7 @@ ConfigureWindow(register WindowPtr pWin, + if (size_change && ((pWin->eventMask|wOtherEventMasks(pWin)) & ResizeRedirectMask)) + { + xEvent eventT; ++ memset(&eventT, 0, sizeof(xEvent)); + eventT.u.u.type = ResizeRequest; + eventT.u.resizeRequest.window = pWin->drawable.id; + eventT.u.resizeRequest.width = w; +@@ -2396,6 +2401,7 @@ ConfigureWindow(register WindowPtr pWin, + ActuallyDoSomething: + if (SubStrSend(pWin, pParent)) + { ++ memset(&event, 0, sizeof(xEvent)); + event.u.u.type = ConfigureNotify; + event.u.configureNotify.window = pWin->drawable.id; + if (pSib) +@@ -2552,6 +2558,7 @@ ReparentWindow(register WindowPtr pWin, + if (WasMapped) + UnmapWindow(pWin, FALSE); + ++ memset(&event, 0, sizeof(xEvent)); + event.u.u.type = ReparentNotify; + event.u.reparent.window = pWin->drawable.id; + event.u.reparent.parent = pParent->drawable.id; +@@ -2708,6 +2715,7 @@ MapWindow(register WindowPtr pWin, Clien + #endif + )) + { ++ memset(&event, 0, sizeof(xEvent)); + event.u.u.type = MapRequest; + event.u.mapRequest.window = pWin->drawable.id; + #ifdef XAPPGROUP +@@ -2730,6 +2738,7 @@ MapWindow(register WindowPtr pWin, Clien + pWin->mapped = TRUE; + if (SubStrSend(pWin, pParent)) + { ++ memset(&event, 0, sizeof(xEvent)); + event.u.u.type = MapNotify; + event.u.mapNotify.window = pWin->drawable.id; + event.u.mapNotify.override = pWin->overrideRedirect; +@@ -2820,6 +2829,7 @@ MapSubwindows(register WindowPtr pParent + { + if (parentRedirect && !pWin->overrideRedirect) + { ++ memset(&event, 0, sizeof(xEvent)); + event.u.u.type = MapRequest; + event.u.mapRequest.window = pWin->drawable.id; + event.u.mapRequest.parent = pParent->drawable.id; +@@ -2832,6 +2842,7 @@ MapSubwindows(register WindowPtr pParent + pWin->mapped = TRUE; + if (parentNotify || StrSend(pWin)) + { ++ memset(&event, 0, sizeof(xEvent)); + event.u.u.type = MapNotify; + event.u.mapNotify.window = pWin->drawable.id; + event.u.mapNotify.override = pWin->overrideRedirect; +@@ -2985,6 +2996,7 @@ UnmapWindow(register WindowPtr pWin, Boo + return(Success); + if (SubStrSend(pWin, pParent)) + { ++ memset(&event, 0, sizeof(xEvent)); + event.u.u.type = UnmapNotify; + event.u.unmapNotify.window = pWin->drawable.id; + event.u.unmapNotify.fromConfigure = fromConfigure; +@@ -3279,6 +3291,7 @@ SendVisibilityNotify(WindowPtr pWin) + } + #endif + ++ memset(&event, 0, sizeof(xEvent)); + event.u.u.type = VisibilityNotify; + event.u.visibility.window = pWin->drawable.id; + event.u.visibility.state = visibility; +--- a/nx-X11/programs/Xserver/hw/nxagent/Keyboard.c ++++ b/nx-X11/programs/Xserver/hw/nxagent/Keyboard.c +@@ -1214,6 +1214,7 @@ void nxagentNotifyKeyboardChanges(int ol + dev = inputInfo.keyboard; + xkb = dev -> key -> xkbInfo -> desc; + ++ memset(&nkn, 0, sizeof(xkbNewKeyboardNotify)); + nkn.deviceID = nkn.oldDeviceID = dev -> id; + nkn.minKeyCode = 8; + nkn.maxKeyCode = 255; +@@ -1233,6 +1234,7 @@ void nxagentNotifyKeyboardChanges(int ol + int i; + xEvent event; + ++ memset(&event, 0, sizeof(xEvent)); + event.u.u.type = MappingNotify; + event.u.mappingNotify.request = MappingKeyboard; + event.u.mappingNotify.firstKeyCode = inputInfo.keyboard -> key -> curKeySyms.minKeyCode; +--- a/nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c ++++ b/nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c +@@ -905,6 +905,7 @@ ProcGetWindowAttributes(client) + SecurityReadAccess); + if (!pWin) + return(BadWindow); ++ memset(&wa, 0, sizeof(xGetWindowAttributesReply)); + GetWindowAttributes(pWin, client, &wa); + WriteReplyToClient(client, sizeof(xGetWindowAttributesReply), &wa); + return(client->noClientException); +@@ -1141,6 +1142,7 @@ GetGeometry(client, rep) + + REQUEST_SIZE_MATCH(xResourceReq); + SECURITY_VERIFY_GEOMETRABLE (pDraw, stuff->id, client, SecurityReadAccess); ++ memset(rep, 0, sizeof(xGetGeometryReply)); + rep->type = X_Reply; + rep->length = 0; + rep->sequenceNumber = client->sequence; +@@ -1204,6 +1206,7 @@ ProcQueryTree(client) + SecurityReadAccess); + if (!pWin) + return(BadWindow); ++ memset(&reply, 0, sizeof(xQueryTreeReply)); + reply.type = X_Reply; + reply.root = WindowTable[pWin->drawable.pScreen->myNum]->drawable.id; + reply.sequenceNumber = client->sequence; +@@ -1268,6 +1271,7 @@ ProcInternAtom(client) + if (atom != BAD_RESOURCE) + { + xInternAtomReply reply; ++ memset(&reply, 0, sizeof(xInternAtomReply)); + reply.type = X_Reply; + reply.length = 0; + reply.sequenceNumber = client->sequence; +@@ -1292,6 +1296,7 @@ ProcGetAtomName(client) + if ( (str = NameForAtom(stuff->id)) ) + { + len = strlen(str); ++ memset(&reply, 0, sizeof(xGetAtomNameReply)); + reply.type = X_Reply; + reply.length = (len + 3) >> 2; + reply.sequenceNumber = client->sequence; +@@ -1425,6 +1430,7 @@ ProcGetSelectionOwner(client) + i = 0; + while ((i < NumCurrentSelections) && + CurrentSelections[i].selection != stuff->id) i++; ++ memset(&reply, 0, sizeof(xGetSelectionOwnerReply)); + reply.type = X_Reply; + reply.length = 0; + reply.sequenceNumber = client->sequence; +@@ -1497,7 +1503,9 @@ ProcConvertSelection(client) + CurrentSelections[i].pWin)) + #endif + ) ++ + { ++ memset(&event, 0, sizeof(xEvent)); + event.u.u.type = SelectionRequest; + event.u.selectionRequest.time = stuff->time; + event.u.selectionRequest.owner = +@@ -1511,6 +1519,7 @@ ProcConvertSelection(client) + NoEventMask /* CantBeFiltered */, NullGrab)) + return (client->noClientException); + } ++ memset(&event, 0, sizeof(xEvent)); + event.u.u.type = SelectionNotify; + event.u.selectionNotify.time = stuff->time; + event.u.selectionNotify.requestor = stuff->requestor; +@@ -1615,6 +1624,7 @@ ProcTranslateCoords(client) + SecurityReadAccess); + if (!pDst) + return(BadWindow); ++ memset(&rep, 0, sizeof(xTranslateCoordsReply)); + rep.type = X_Reply; + rep.length = 0; + rep.sequenceNumber = client->sequence; +@@ -1840,6 +1850,7 @@ ProcQueryFont(client) + { + return(BadAlloc); + } ++ memset(reply, 0, rlength); + + reply->type = X_Reply; + reply->length = (rlength - sizeof(xGenericReply)) >> 2; +@@ -2673,6 +2684,7 @@ DoGetImage(client, format, drawable, x, + return(BadValue); + } + SECURITY_VERIFY_DRAWABLE(pDraw, drawable, client, SecurityReadAccess); ++ memset(&xgi, 0, sizeof(xGetImageReply)); + if(pDraw->type == DRAWABLE_WINDOW) + { + if( /* check for being viewable */ +@@ -2726,9 +2738,10 @@ DoGetImage(client, format, drawable, x, + xgi.length = length; + + if (im_return) { +- pBuf = (char *)xalloc(sz_xGetImageReply + length); ++ pBuf = (char *)xcalloc(1, sz_xGetImageReply + length); + if (!pBuf) + return (BadAlloc); ++ + if (widthBytesLine == 0) + linesPerBuf = 0; + else +@@ -2766,6 +2779,7 @@ DoGetImage(client, format, drawable, x, + } + if(!(pBuf = (char *) ALLOCATE_LOCAL(length))) + return (BadAlloc); ++ memset(pBuf, 0, length); + WriteReplyToClient(client, sizeof (xGetImageReply), &xgi); + } + +@@ -3552,6 +3566,7 @@ ProcQueryColors(client) + prgbs = (xrgb *)ALLOCATE_LOCAL(count * sizeof(xrgb)); + if(!prgbs && count) + return(BadAlloc); ++ memset(prgbs, 0, count * sizeof(xrgb)); + if( (retval = QueryColors(pcmp, count, (Pixel *)&stuff[1], prgbs)) ) + { + if (prgbs) DEALLOCATE_LOCAL(prgbs); +@@ -3563,6 +3578,7 @@ ProcQueryColors(client) + return (retval); + } + } ++ memset(&qcr, 0, sizeof(xQueryColorsReply)); + qcr.type = X_Reply; + qcr.length = (count * sizeof(xrgb)) >> 2; + qcr.sequenceNumber = client->sequence; +@@ -3792,6 +3808,7 @@ ProcQueryBestSize (client) + pScreen = pDraw->pScreen; + (* pScreen->QueryBestSize)(stuff->class, &stuff->width, + &stuff->height, pScreen); ++ memset(&reply, 0, sizeof(xQueryBestSizeReply)); + reply.type = X_Reply; + reply.length = 0; + reply.sequenceNumber = client->sequence; +@@ -4685,6 +4702,7 @@ SendErrorToClient(client, majorCode, min + { + xError rep; + ++ memset(&rep, 0, sizeof(xError)); + rep.type = X_Error; + rep.sequenceNumber = client->sequence; + rep.errorCode = errorCode; +--- a/nx-X11/programs/Xserver/hw/nxagent/NXdixfonts.c ++++ b/nx-X11/programs/Xserver/hw/nxagent/NXdixfonts.c +@@ -932,6 +932,7 @@ finish: + for (i = 0; i < nnames; i++) + stringLens += (names->length[i] <= 255) ? names->length[i] : 0; + ++ memset(&reply, 0, sizeof(xListFontsReply)); + reply.type = X_Reply; + reply.length = (stringLens + nnames + 3) >> 2; + reply.nFonts = nnames; +@@ -1231,6 +1232,7 @@ doListFontsWithInfo(client, c) + err = AllocError; + break; + } ++ memset(reply + c->length, 0, length - c->length); + c->reply = reply; + c->length = length; + } +--- a/nx-X11/programs/Xserver/hw/nxagent/NXevents.c ++++ b/nx-X11/programs/Xserver/hw/nxagent/NXevents.c +@@ -3348,6 +3348,7 @@ EnterLeaveEvent(type, mode, detail, pWin + } + if (mask & filters[type]) + { ++ memset(&event, 0, sizeof(xEvent)); + event.u.u.type = type; + event.u.u.detail = detail; + event.u.enterLeave.time = currentTime.milliseconds; +@@ -3822,6 +3823,7 @@ ProcGetInputFocus(client) + FocusClassPtr focus = inputInfo.keyboard->focus; + + REQUEST_SIZE_MATCH(xReq); ++ memset(&rep, 0, sizeof(xGetInputFocusReply)); + rep.type = X_Reply; + rep.length = 0; + rep.sequenceNumber = client->sequence; +@@ -3897,6 +3899,7 @@ ProcGrabPointer(client) + } + /* at this point, some sort of reply is guaranteed. */ + time = ClientTimeToServerTime(stuff->time); ++ memset(&rep, 0, sizeof(xGrabPointerReply)); + rep.type = X_Reply; + rep.sequenceNumber = client->sequence; + rep.length = 0; +@@ -4083,6 +4086,8 @@ ProcGrabKeyboard(client) + int result; + + REQUEST_SIZE_MATCH(xGrabKeyboardReq); ++ memset(&rep, 0, sizeof(xGrabKeyboardReply)); ++ + #ifdef XCSECURITY + if (!SecurityCheckDeviceAccess(client, inputInfo.keyboard, TRUE)) + { +@@ -4139,6 +4144,7 @@ ProcQueryPointer(client) + return BadWindow; + if (mouse->valuator->motionHintWindow) + MaybeStopHint(mouse, client); ++ memset(&rep, 0, sizeof(xQueryPointerReply)); + rep.type = X_Reply; + rep.sequenceNumber = client->sequence; + rep.mask = mouse->button->state | inputInfo.keyboard->key->state; +--- a/nx-X11/programs/Xserver/hw/nxagent/NXextension.c ++++ b/nx-X11/programs/Xserver/hw/nxagent/NXextension.c +@@ -341,6 +341,7 @@ ProcQueryExtension(client) + + REQUEST_FIXED_SIZE(xQueryExtensionReq, stuff->nbytes); + ++ memset(&reply, 0, sizeof(xQueryExtensionReply)); + reply.type = X_Reply; + reply.length = 0; + reply.major_opcode = 0; +@@ -388,6 +389,7 @@ ProcListExtensions(client) + + REQUEST_SIZE_MATCH(xReq); + ++ memset(&reply, 0, sizeof(xListExtensionsReply)); + reply.type = X_Reply; + reply.nExtensions = 0; + reply.length = 0; +--- a/nx-X11/programs/Xserver/hw/nxagent/NXmiexpose.c ++++ b/nx-X11/programs/Xserver/hw/nxagent/NXmiexpose.c +@@ -414,6 +414,7 @@ miSendGraphicsExpose (client, pRgn, draw + else + { + xEvent event; ++ memset(&event, 0, sizeof(xEvent)); + event.u.u.type = NoExpose; + event.u.noExposure.drawable = drawable; + event.u.noExposure.majorEvent = major; +@@ -439,7 +440,7 @@ miSendExposures(pWin, pRgn, dx, dy) + numRects = REGION_NUM_RECTS(pRgn); + if(!(pEvent = (xEvent *) ALLOCATE_LOCAL(numRects * sizeof(xEvent)))) + return; +- ++ memset(pEvent, 0, numRects * sizeof(xEvent)); + for (i=numRects, pe = pEvent; --i >= 0; pe++, pBox++) + { + pe->u.u.type = Expose; +--- a/nx-X11/programs/Xserver/hw/nxagent/NXproperty.c ++++ b/nx-X11/programs/Xserver/hw/nxagent/NXproperty.c +@@ -599,6 +599,7 @@ ProcGetProperty(client) + pProp = pProp->next; + } + ++ memset(&reply, 0, sizeof(xGetPropertyReply)); + reply.type = X_Reply; + reply.sequenceNumber = client->sequence; + if (!pProp) +--- a/nx-X11/programs/Xserver/hw/nxagent/NXrender.c ++++ b/nx-X11/programs/Xserver/hw/nxagent/NXrender.c +@@ -331,6 +331,7 @@ ProcRenderQueryVersion (ClientPtr client + pRenderClient->major_version = stuff->majorVersion; + pRenderClient->minor_version = stuff->minorVersion; + ++ memset(&rep, 0, sizeof(xRenderQueryVersionReply)); + rep.type = X_Reply; + rep.length = 0; + rep.sequenceNumber = client->sequence; +@@ -455,6 +456,7 @@ ProcRenderQueryPictFormats (ClientPtr cl + reply = (xRenderQueryPictFormatsReply *) xalloc (rlength); + if (!reply) + return BadAlloc; ++ memset(reply, 0, rlength); + reply->type = X_Reply; + reply->sequenceNumber = client->sequence; + reply->length = (rlength - sizeof(xGenericReply)) >> 2; +--- a/nx-X11/programs/Xserver/hw/nxagent/NXshm.c ++++ b/nx-X11/programs/Xserver/hw/nxagent/NXshm.c +@@ -375,6 +375,7 @@ ProcShmQueryVersion(client) + register int n; + + REQUEST_SIZE_MATCH(xShmQueryVersionReq); ++ memset(&rep, 0, sizeof(xShmQueryVersionReply)); + rep.type = X_Reply; + rep.length = 0; + rep.sequenceNumber = client->sequence; +--- a/nx-X11/programs/Xserver/hw/nxagent/NXwindow.c ++++ b/nx-X11/programs/Xserver/hw/nxagent/NXwindow.c +@@ -912,6 +912,7 @@ CreateWindow(wid, pParent, x, y, w, h, b + + if (SubSend(pParent)) + { ++ memset(&event, 0, sizeof(xEvent)); + event.u.u.type = CreateNotify; + event.u.createNotify.window = wid; + event.u.createNotify.parent = pParent->drawable.id; +@@ -987,6 +988,7 @@ CrushTree(pWin) + pParent = pChild->parent; + if (SubStrSend(pChild, pParent)) + { ++ memset(&event, 0, sizeof(xEvent)); + event.u.u.type = DestroyNotify; + event.u.destroyNotify.window = pChild->drawable.id; + DeliverEvents(pChild, &event, 1, NullWindow); +@@ -1039,6 +1041,7 @@ DeleteWindow(value, wid) + pParent = pWin->parent; + if (wid && pParent && SubStrSend(pWin, pParent)) + { ++ memset(&event, 0, sizeof(xEvent)); + event.u.u.type = DestroyNotify; + event.u.destroyNotify.window = pWin->drawable.id; + DeliverEvents(pWin, &event, 1, NullWindow); +@@ -2550,6 +2553,7 @@ ConfigureWindow(pWin, mask, vlist, clien + #endif + )) + { ++ memset(&event, 0, sizeof(xEvent)); + event.u.u.type = ConfigureRequest; + event.u.configureRequest.window = pWin->drawable.id; + if (mask & CWSibling) +@@ -2594,6 +2598,7 @@ ConfigureWindow(pWin, mask, vlist, clien + if (size_change && ((pWin->eventMask|wOtherEventMasks(pWin)) & ResizeRedirectMask)) + { + xEvent eventT; ++ memset(&eventT, 0, sizeof(xEvent)); + eventT.u.u.type = ResizeRequest; + eventT.u.resizeRequest.window = pWin->drawable.id; + eventT.u.resizeRequest.width = w; +@@ -2637,6 +2642,7 @@ ConfigureWindow(pWin, mask, vlist, clien + ActuallyDoSomething: + if (SubStrSend(pWin, pParent)) + { ++ memset(&event, 0, sizeof(xEvent)); + event.u.u.type = ConfigureNotify; + event.u.configureNotify.window = pWin->drawable.id; + if (pSib) +@@ -2821,6 +2827,7 @@ ReparentWindow(pWin, pParent, x, y, clie + if (WasMapped) + UnmapWindow(pWin, FALSE); + ++ memset(&event, 0, sizeof(xEvent)); + event.u.u.type = ReparentNotify; + event.u.reparent.window = pWin->drawable.id; + event.u.reparent.parent = pParent->drawable.id; +@@ -2999,6 +3006,7 @@ MapWindow(pWin, client) + #endif + )) + { ++ memset(&event, 0, sizeof(xEvent)); + event.u.u.type = MapRequest; + event.u.mapRequest.window = pWin->drawable.id; + #ifdef XAPPGROUP +@@ -3021,6 +3029,7 @@ MapWindow(pWin, client) + pWin->mapped = TRUE; + if (SubStrSend(pWin, pParent)) + { ++ memset(&event, 0, sizeof(xEvent)); + event.u.u.type = MapNotify; + event.u.mapNotify.window = pWin->drawable.id; + event.u.mapNotify.override = pWin->overrideRedirect; +@@ -3115,6 +3124,7 @@ MapSubwindows(pParent, client) + { + if (parentRedirect && !pWin->overrideRedirect) + { ++ memset(&event, 0, sizeof(xEvent)); + event.u.u.type = MapRequest; + event.u.mapRequest.window = pWin->drawable.id; + event.u.mapRequest.parent = pParent->drawable.id; +@@ -3127,6 +3137,7 @@ MapSubwindows(pParent, client) + pWin->mapped = TRUE; + if (parentNotify || StrSend(pWin)) + { ++ memset(&event, 0, sizeof(xEvent)); + event.u.u.type = MapNotify; + event.u.mapNotify.window = pWin->drawable.id; + event.u.mapNotify.override = pWin->overrideRedirect; +@@ -3296,6 +3307,7 @@ UnmapWindow(pWin, fromConfigure) + return(Success); + if (SubStrSend(pWin, pParent)) + { ++ memset(&event, 0, sizeof(xEvent)); + event.u.u.type = UnmapNotify; + event.u.unmapNotify.window = pWin->drawable.id; + event.u.unmapNotify.fromConfigure = fromConfigure; +@@ -3574,6 +3586,7 @@ SendVisibilityNotify(pWin) + } + #endif + ++ memset(&event, 0, sizeof(xEvent)); + event.u.u.type = VisibilityNotify; + event.u.visibility.window = pWin->drawable.id; + event.u.visibility.state = visibility; +--- a/nx-X11/programs/Xserver/mi/miexpose.c ++++ b/nx-X11/programs/Xserver/mi/miexpose.c +@@ -420,6 +420,7 @@ miSendGraphicsExpose (client, pRgn, draw + else + { + xEvent event; ++ memset(&event, 0, sizeof(xEvent)); + event.u.u.type = NoExpose; + event.u.noExposure.drawable = drawable; + event.u.noExposure.majorEvent = major; +@@ -445,6 +446,7 @@ miSendExposures(pWin, pRgn, dx, dy) + numRects = REGION_NUM_RECTS(pRgn); + if(!(pEvent = (xEvent *) ALLOCATE_LOCAL(numRects * sizeof(xEvent)))) + return; ++ memset(pEvent, 0, numRects * sizeof(xEvent)); + + for (i=numRects, pe = pEvent; --i >= 0; pe++, pBox++) + { +--- a/nx-X11/programs/Xserver/randr/rrxinerama.c ++++ b/nx-X11/programs/Xserver/randr/rrxinerama.c +@@ -281,7 +281,8 @@ ProcRRXineramaIsActive(ClientPtr client) + xXineramaIsActiveReply rep; + + REQUEST_SIZE_MATCH(xXineramaIsActiveReq); +- ++ ++ memset(&rep, 0, sizeof(xXineramaIsActiveReply)); + rep.type = X_Reply; + rep.length = 0; + rep.sequenceNumber = client->sequence; +--- a/nx-X11/programs/Xserver/render/render.c ++++ b/nx-X11/programs/Xserver/render/render.c +@@ -288,6 +288,7 @@ ProcRenderQueryVersion (ClientPtr client + pRenderClient->major_version = stuff->majorVersion; + pRenderClient->minor_version = stuff->minorVersion; + ++ memset(&rep, 0, sizeof(xRenderQueryVersionReply)); + rep.type = X_Reply; + rep.length = 0; + rep.sequenceNumber = client->sequence; +@@ -410,6 +411,8 @@ ProcRenderQueryPictFormats (ClientPtr cl + reply = (xRenderQueryPictFormatsReply *) xalloc (rlength); + if (!reply) + return BadAlloc; ++ memset(reply, 0, rlength); ++ + reply->type = X_Reply; + reply->sequenceNumber = client->sequence; + reply->length = (rlength - sizeof(xGenericReply)) >> 2; +--- a/nx-X11/programs/Xserver/xfixes/select.c ++++ b/nx-X11/programs/Xserver/xfixes/select.c +@@ -84,6 +84,8 @@ XFixesSelectionCallback (CallbackListPtr + { + xXFixesSelectionNotifyEvent ev; + ++ memset(&ev, 0, sizeof(xXFixesSelectionNotifyEvent)); ++ + ev.type = XFixesEventBase + XFixesSelectionNotify; + ev.subtype = subtype; + ev.sequenceNumber = e->pClient->sequence; +--- a/nx-X11/programs/Xserver/xfixes/xfixes.c ++++ b/nx-X11/programs/Xserver/xfixes/xfixes.c +@@ -42,6 +42,7 @@ ProcXFixesQueryVersion(ClientPtr client) + REQUEST(xXFixesQueryVersionReq); + + REQUEST_SIZE_MATCH(xXFixesQueryVersionReq); ++ memset(&rep, 0, sizeof(xXFixesQueryVersionReply)); + rep.type = X_Reply; + rep.length = 0; + rep.sequenceNumber = client->sequence; +--- a/nx-X11/programs/Xserver/xkb/xkb.c ++++ b/nx-X11/programs/Xserver/xkb/xkb.c +@@ -192,6 +192,7 @@ ProcXkbUseExtension(ClientPtr client) + stuff->wantedMajor,stuff->wantedMinor, + XkbMajorVersion,XkbMinorVersion); + } ++ memset(&rep, 0, sizeof(xkbUseExtensionReply)); + rep.type = X_Reply; + rep.supported = supported; + rep.length = 0; +@@ -1313,6 +1314,8 @@ char *desc,*start; + start= desc= (char *)ALLOCATE_LOCAL(len); + if (!start) + return BadAlloc; ++ memset(start, 0, len); ++ + if ( rep->nTypes>0 ) + desc = XkbWriteKeyTypes(xkb,rep,desc,client); + if ( rep->nKeySyms>0 ) +@@ -2381,6 +2384,8 @@ ProcXkbSetMap(ClientPtr client) + (xkb->max_key_code!=stuff->maxKeyCode)) { + Status status; + xkbNewKeyboardNotify nkn; ++ ++ memset(&nkn, 0, sizeof(xkbNewKeyboardNotify)); + nkn.deviceID= nkn.oldDeviceID= dev->id; + nkn.oldMinKeyCode= xkb->min_key_code; + nkn.oldMaxKeyCode= xkb->max_key_code; +@@ -3480,6 +3485,7 @@ ProcXkbGetNames(ClientPtr client) + CHK_MASK_LEGAL(0x01,stuff->which,XkbAllNamesMask); + + xkb = dev->key->xkbInfo->desc; ++ memset(&rep, 0, sizeof(xkbGetNamesReply)); + rep.type= X_Reply; + rep.sequenceNumber= client->sequence; + rep.length = 0; +@@ -4939,6 +4945,7 @@ ProcXkbSetGeometry(ClientPtr client) + nn.changed= XkbGeometryNameMask; + XkbSendNamesNotify(dev,&nn); + } ++ memset(&nkn, 0, sizeof(xkbNewKeyboardNotify)); + nkn.deviceID= nkn.oldDeviceID= dev->id; + nkn.minKeyCode= nkn.oldMinKeyCode= xkb->min_key_code; + nkn.maxKeyCode= nkn.oldMaxKeyCode= xkb->max_key_code; +@@ -4969,6 +4976,7 @@ ProcXkbPerClientFlags(ClientPtr client) + CHK_MASK_MATCH(0x02,stuff->change,stuff->value); + + interest = XkbFindClientResource((DevicePtr)dev,client); ++ memset(&rep, 0, sizeof(xkbPerClientFlagsReply)); + rep.type= X_Reply; + rep.length = 0; + rep.sequenceNumber = client->sequence; +@@ -5463,6 +5471,7 @@ ProcXkbGetKbdByName(ClientPtr client) + XkbFreeSrvLedInfo(old_sli); + } + ++ memset(&nkn, 0, sizeof(xkbNewKeyboardNotify)); + nkn.deviceID= nkn.oldDeviceID= dev->id; + nkn.minKeyCode= finfo.xkb->min_key_code; + nkn.maxKeyCode= finfo.xkb->max_key_code; +--- a/nx-X11/programs/Xserver/xkb/xkbEvents.c ++++ b/nx-X11/programs/Xserver/xkb/xkbEvents.c +@@ -730,6 +730,7 @@ XkbSrvLedInfoPtr sli; + } + if (pChanges->map.changed) { + xkbMapNotify mn; ++ memset(&mn, 0, sizeof(xkbMapNotify)); + mn.changed= pChanges->map.changed; + mn.firstType= pChanges->map.first_type; + mn.nTypes= pChanges->map.num_types; +@@ -751,6 +752,7 @@ XkbSrvLedInfoPtr sli; + if ((pChanges->ctrls.changed_ctrls)|| + (pChanges->ctrls.enabled_ctrls_changes)) { + xkbControlsNotify cn; ++ memset(&cn, 0, sizeof(xkbControlsNotify)); + cn.changedControls= pChanges->ctrls.changed_ctrls; + cn.enabledControlChanges= pChanges->ctrls.enabled_ctrls_changes; + cn.keycode= cause->kc; +@@ -763,6 +765,7 @@ XkbSrvLedInfoPtr sli; + xkbIndicatorNotify in; + if (sli==NULL) + sli= XkbFindSrvLedInfo(kbd,XkbDfltXIClass,XkbDfltXIId,0); ++ memset(&in, 0, sizeof(xkbIndicatorNotify)); + in.state= sli->effectiveState; + in.changed= pChanges->indicators.map_changes; + XkbSendIndicatorNotify(kbd,XkbIndicatorMapNotify,&in); +@@ -771,12 +774,14 @@ XkbSrvLedInfoPtr sli; + xkbIndicatorNotify in; + if (sli==NULL) + sli= XkbFindSrvLedInfo(kbd,XkbDfltXIClass,XkbDfltXIId,0); ++ memset(&in, 0, sizeof(xkbIndicatorNotify)); + in.state= sli->effectiveState; + in.changed= pChanges->indicators.state_changes; + XkbSendIndicatorNotify(kbd,XkbIndicatorStateNotify,&in); + } + if (pChanges->names.changed) { + xkbNamesNotify nn; ++ memset(&nn, 0, sizeof(xkbNamesNotify)); + nn.changed= pChanges->names.changed; + nn.firstType= pChanges->names.first_type; + nn.nTypes= pChanges->names.num_types; +@@ -789,6 +794,7 @@ XkbSrvLedInfoPtr sli; + } + if ((pChanges->compat.changed_groups)||(pChanges->compat.num_si>0)) { + xkbCompatMapNotify cmn; ++ memset(&cmn, 0, sizeof(xkbCompatMapNotify)); + cmn.changedGroups= pChanges->compat.changed_groups; + cmn.firstSI= pChanges->compat.first_si; + cmn.nSI= pChanges->compat.num_si; diff --git a/debian/patches/series b/debian/patches/series index ab43311..f0f7e6a 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -146,6 +146,7 @@ 1257_nx-X11_randr-Fix-REQUEST-vs-REQUEST_SIZE_MATCH-.full.patch 1258_nx-X11_randr-Clean-up-compiler-warnings-about-u.full.patch 1259_nx-X11_Make-RANDR-_set_-timestamps-follow-clien.full.patch +1260_nx-X11_xserver-Avoid-sending-uninitialized-padd.full.patch 9900-dxpc-license-history.full+lite.patch 0016_nx-X11_install-location.debian.patch 0102_xserver-xext_set-securitypolicy-path.debian.patch -- Alioth's /srv/git/code.x2go.org/nx-libs.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/nx-libs.git