[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#284025: xserver-xfree86: SEGV in RADEONQueryConnectedDisplays



retitle 284025 xserver-xfree86: [ati/radeon] SEGV in RADEONQueryConnectedDisplays()
# SEGVs are important.
severity 284025 important
tag 284025 + upstream patch
thanks

On Thu, Dec 02, 2004 at 05:04:18PM -0700, Bjorn Helgaas wrote:
[...]
> The problem is pretty clear from the source.  We call vbeDoEDID(),
> which usually returns a pointer, but can return NULL for failure.
> Then we dereference it without bothering to check for NULL:
[...]
> Here's a patch:
> 
> --- xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c.orig	2004-11-30 13:59:17.314008332 -0700
> +++ xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c	2004-11-30 14:00:14.328656071 -0700
> @@ -1272,7 +1272,7 @@
>  			for (i = 0; i < 5; i++) {
>  			    pRADEONEnt->MonInfo1 = vbeDoEDID(pVbe, NULL);
>  			}
> -			if (pRADEONEnt->MonInfo1->rawData[0x14] & 0x80)
> +			if (pRADEONEnt->MonInfo1 && pRADEONEnt->MonInfo1->rawData[0x14] & 0x80)
>  			    pRADEONEnt->MonType1 = MT_DFP;
>  			else pRADEONEnt->MonType1 = MT_CRT;
>  		    }

Mr. Helgaas,

Thanks for this outstanding report.  I wish all reports against
xserver-xfree86 came with a GDB session transcript and a patch.  :)

I'll try to get this fix into the next release.

-- 
G. Branden Robinson                |      Mob rule isn't any prettier just
Debian GNU/Linux                   |      because you call your mob a
branden@debian.org                 |      government.
http://people.debian.org/~branden/ |

Attachment: signature.asc
Description: Digital signature


Reply to: