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
[EMAIL PROTECTED]                 |      government.
http://people.debian.org/~branden/ |

Attachment: signature.asc
Description: Digital signature

Reply via email to