xorg-server: Changes to 'upstream-experimental'
Xext/xcmisc.c | 13 +++++++++++--
configure.ac | 6 +++---
hw/xfree86/modes/xf86Crtc.c | 1 -
os/WaitFor.c | 9 ++++++---
4 files changed, 20 insertions(+), 9 deletions(-)
New commits:
commit 970cacb264a597573e0927410dde5a3d3aa6549b
Author: Keith Packard <keithp@guitar.keithp.com>
Date: Thu Apr 5 23:48:40 2007 -0700
Bump to version 1.2.99.905 (1.3 RC5)
diff --git a/configure.ac b/configure.ac
index 2c69c30..360419c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -25,7 +25,7 @@ dnl Process this file with autoconf to create configure.
AC_PREREQ(2.57)
dnl This is the not the Xorg version number, it's the server version number.
dnl Yes, that's weird.
-AC_INIT([xorg-server], 1.2.99.904, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
+AC_INIT([xorg-server], 1.2.99.905, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
AC_CONFIG_SRCDIR([Makefile.am])
AM_INIT_AUTOMAKE([dist-bzip2 foreign])
AM_MAINTAINER_MODE
@@ -40,7 +40,7 @@ DEFAULT_VENDOR_NAME_SHORT="X.Org"
DEFAULT_VERSION_MAJOR=1
DEFAULT_VERSION_MINOR=2
DEFAULT_VERSION_PATCH=99
-DEFAULT_VERSION_SNAP=904
+DEFAULT_VERSION_SNAP=905
DEFAULT_RELEASE_DATE="05 April 2007"
DEFAULT_VENDOR_WEB="http://wiki.x.org"
commit 44c4bd5df3aae191be9fc836be26f91497d02901
Author: Matthieu Herrb <matthieu@roadrock.(none)>
Date: Tue Apr 3 15:47:18 2007 +0200
CVE-2007-1003: XC-MISC Extension ProcXCMiscGetXIDList() Memory Corruption
(cherry picked from commit 645d87cf8ef724d4591614f9994cdc4d7549a7a8)
diff --git a/Xext/xcmisc.c b/Xext/xcmisc.c
index f26218e..8c7a86e 100644
--- a/Xext/xcmisc.c
+++ b/Xext/xcmisc.c
@@ -42,6 +42,12 @@ from The Open Group.
#include <X11/extensions/xcmiscstr.h>
#include "modinit.h"
+#if HAVE_STDINT_H
+#include <stdint.h>
+#elif !defined(UINT32_MAX)
+#define UINT32_MAX 0xffffffffU
+#endif
+
#if 0
static unsigned char XCMiscCode;
#endif
@@ -143,7 +149,10 @@ ProcXCMiscGetXIDList(client)
REQUEST_SIZE_MATCH(xXCMiscGetXIDListReq);
- pids = (XID *)ALLOCATE_LOCAL(stuff->count * sizeof(XID));
+ if (stuff->count > UINT32_MAX / sizeof(XID))
+ return BadAlloc;
+
+ pids = (XID *)Xalloc(stuff->count * sizeof(XID));
if (!pids)
{
return BadAlloc;
@@ -164,7 +173,7 @@ ProcXCMiscGetXIDList(client)
client->pSwapReplyFunc = (ReplySwapPtr) Swap32Write;
WriteSwappedDataToClient(client, count * sizeof(XID), pids);
}
- DEALLOCATE_LOCAL(pids);
+ Xfree(pids);
return(client->noClientException);
}
commit 44ea7a3e0d8fa636f4e5dd392caf618120d98413
Author: Tomas Janousek <tomi@nomi.cz>
Date: Wed Mar 28 14:46:30 2007 -0400
Bug #10296: Fix timer rescheduling.
(cherry picked from commit 8c7f56d92d8471ee059c14d322af5f7f555dd5c6)
diff --git a/os/WaitFor.c b/os/WaitFor.c
index ba227a3..d0f9f62 100644
--- a/os/WaitFor.c
+++ b/os/WaitFor.c
@@ -125,7 +125,7 @@ struct _OsTimerRec {
};
static void DoTimer(OsTimerPtr timer, CARD32 now, OsTimerPtr *prev);
-static void CheckAllTimers(CARD32 now);
+static void CheckAllTimers(void);
static OsTimerPtr timers = NULL;
/*****************
@@ -204,7 +204,7 @@ WaitForSomething(int *pClientsReady)
timeout = timers->expires - now;
if (timeout > 0 && timeout > timers->delta + 250) {
/* time has rewound. reset the timers. */
- CheckAllTimers(now);
+ CheckAllTimers();
}
if (timers) {
@@ -439,11 +439,14 @@ ANYSET(FdMask *src)
/* If time has rewound, re-run every affected timer.
* Timers might drop out of the list, so we have to restart every time. */
static void
-CheckAllTimers(CARD32 now)
+CheckAllTimers(void)
{
OsTimerPtr timer;
+ CARD32 now;
start:
+ now = GetTimeInMillis();
+
for (timer = timers; timer; timer = timer->next) {
if (timer->expires - now > timer->delta + 250) {
TimerForce(timer);
commit 042ef1f573d6e98756cc98c296bddd1aa9e4c8ca
Author: Keith Packard <keithp@guitar.keithp.com>
Date: Thu Apr 5 23:21:19 2007 -0700
Bump version to 1.2.99.904 (1.3 RC4)
diff --git a/configure.ac b/configure.ac
index 6ba4d03..2c69c30 100644
--- a/configure.ac
+++ b/configure.ac
@@ -25,7 +25,7 @@ dnl Process this file with autoconf to create configure.
AC_PREREQ(2.57)
dnl This is the not the Xorg version number, it's the server version number.
dnl Yes, that's weird.
-AC_INIT([xorg-server], 1.2.99.903, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
+AC_INIT([xorg-server], 1.2.99.904, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
AC_CONFIG_SRCDIR([Makefile.am])
AM_INIT_AUTOMAKE([dist-bzip2 foreign])
AM_MAINTAINER_MODE
@@ -40,8 +40,8 @@ DEFAULT_VENDOR_NAME_SHORT="X.Org"
DEFAULT_VERSION_MAJOR=1
DEFAULT_VERSION_MINOR=2
DEFAULT_VERSION_PATCH=99
-DEFAULT_VERSION_SNAP=903
-DEFAULT_RELEASE_DATE="26 March 2007"
+DEFAULT_VERSION_SNAP=904
+DEFAULT_RELEASE_DATE="05 April 2007"
DEFAULT_VENDOR_WEB="http://wiki.x.org"
dnl this gets generated by autoheader, and thus contains all the defines. we
commit 56262a4ee943f328d089a8eb4aa70b9a4bd5d135
Author: Keith Packard <keithp@viola.jf.intel.com>
Date: Mon Apr 2 14:15:36 2007 -0700
Don't erase current crtc for outputs on CloseScreen
Erasing this variable causes some outputs (SDVO on intel) to fail
to be correctly reset at server reset time.
diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
index 7d86b66..325fb64 100644
--- a/hw/xfree86/modes/xf86Crtc.c
+++ b/hw/xfree86/modes/xf86Crtc.c
@@ -589,7 +589,6 @@ xf86CrtcCloseScreen (int index, ScreenPtr screen)
{
xf86OutputPtr output = config->output[o];
- output->crtc = NULL;
output->randr_output = NULL;
}
for (c = 0; c < config->num_crtc; c++)
Reply to: