Package: xserver-xorg Version: 6.8.2.dfsg.1-11 Severity: normal Tags: patch
A bug into one of ati driver's sources (radeon_video.c) causes Xorg server to crash when using it with option "NoAccel", due to erroneous dereferencing of uninitialized pointer. The bug should be reproducible by anyone using "ati" driver: 1 - add 'Option "NoAccel"' to the device section of video card into xorg.conf 2 - restart Xorg 3 - launch any video player (I have personally tested it with totem, xine and mplayer -- the latter using xv output, x11 doesn't crash the server) I'm sure that many other programs are able to trigger this bug, but playing a video is the one by which I've discovered the problem. I'm attaching a patch that modifies the single line of code involved and that solves the problem. -- System Information: Debian Release: testing/unstable APT prefers unstable APT policy: (990, 'unstable'), (500, 'testing'), (500, 'stable') Architecture: i386 (i686) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.14-r4 Locale: [EMAIL PROTECTED], [EMAIL PROTECTED] (charmap=ISO-8859-15) (ignored: LC_ALL set to [EMAIL PROTECTED]) Versions of packages xserver-xorg depends on: ii debconf [debconf-2.0] 1.4.59 Debian configuration management sy ii libc6 2.3.5-8.1 GNU C Library: Shared libraries an ii libgcc1 1:4.0.2-4 GCC support library ii libxau6 6.8.2.dfsg.1-11 X Authentication library ii libxdmcp6 6.8.2.dfsg.1-11 X Display Manager Control Protocol ii xserver-common 6.8.2.dfsg.1-11 files and utilities common to all ii zlib1g 1:1.2.3-8 compression library - runtime Versions of packages xserver-xorg recommends: pn discover | discover1 <none> (no description available) pn laptop-detect <none> (no description available) pn mdetect <none> (no description available) ii xlibs 6.8.2.dfsg.1-11 X Window System client libraries m pn xresprobe <none> (no description available) -- debconf information excluded
--- xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_video.c.orig 2005-10-16 15:58:58.000000000 +0200 +++ xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_video.c 2005-10-16 15:59:34.000000000 +0200 @@ -993,7 +993,7 @@ RADEONPortPrivPtr pPriv = (RADEONPortPrivPtr)data; Bool setTransform = FALSE; - info->accel->Sync(pScrn); + if (info->accelOn) info->accel->Sync(pScrn); #define RTFSaturation(a) (1.0 + ((a)*1.0)/1000.0) #define RTFBrightness(a) (((a)*1.0)/2000.0)