xf86-video-intel: src/sna/sna_driver.c

Chris Wilson ickle at kemper.freedesktop.org
Wed Jan 9 18:54:48 PST 2013


 src/sna/sna_driver.c |    7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

New commits:
commit 5449e16c0c2b6ca5af4acf42703164b9d2b2d822
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Thu Jan 10 02:54:41 2013 +0000

    sna: Open-code xf86CompatOutput() to avoid invalid pointers
    
    config->compat_output needs to be sanitized during device initialization
    or we may dereference an invalid xf86OutputPtr.
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/sna/sna_driver.c b/src/sna/sna_driver.c
index 1ebbe9a..86c05e4 100644
--- a/src/sna/sna_driver.c
+++ b/src/sna/sna_driver.c
@@ -153,11 +153,12 @@ sna_set_fallback_mode(ScrnInfoPtr scrn)
 	DisplayModePtr mode;
 	int n;
 
-	output = xf86CompatOutput(scrn);
-	crtc = xf86CompatCrtc(scrn);
-	if (output == NULL || crtc == NULL)
+	if ((unsigned)config->compat_output >= config->num_output)
 		return;
 
+	output = config->output[config->compat_output];
+	crtc = output->crtc;
+
 	for (n = 0; n < config->num_output; n++)
 		config->output[n]->crtc = NULL;
 	for (n = 0; n < config->num_crtc; n++)


More information about the xorg-commit mailing list