[PATCH] Avoid segfaults in XF86VidMode GammaRamp functions if randr_crtc is NULL
Brice.Goglin at ens-lyon.org
Tue Feb 23 06:02:40 PST 2010
Keith Packard wrote:
> On Tue, 26 Jan 2010 22:25:04 -0800, Alan Coopersmith <alan.coopersmith at sun.com> wrote:
>> Fixes crash when xscreensaver tries to use GammaRamp calls to fade out
> This seems odd to me; how can you have a crtc and no randr_crtc?
>> @@ -1077,7 +1079,8 @@ xf86GetGammaRampSize(ScreenPtr pScreen)
>> xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(pScrn);
>> RRCrtcPtr crtc = config->output[config->compat_output]->crtc->randr_crtc;
I thought this patch would fix all Debian bug reports about crashes in
xf86GetGammaRampSize but it doesn't. All our reports are about ->crtc
being NULL, not about ->crtc->randr_crtc being NULL. So even with your
patch, we still crash in 1.7.5 in the above line (xf86cmap.c:1080) since
we try to dereference a NULL crtc to get the randr_crtc.
See some debugging in
Does this ring any bell ?
More information about the xorg-devel