xf86-video-intel: uxa/uxa-accel.c uxa/uxa-render.c

Chris Wilson ickle at kemper.freedesktop.org
Fri Feb 4 00:57:30 PST 2011


 uxa/uxa-accel.c  |    8 ++++++++
 uxa/uxa-render.c |    2 ++
 2 files changed, 10 insertions(+)

New commits:
commit 6e721e098b9181e8e77e314f966729d28e705582
Author: Bryce Harrington <bryce at canonical.com>
Date:   Fri Feb 4 00:15:13 2011 -0800

    Check return value of uxa_acquire_solid() since it can return NULL
    
    uxa_acquire_solid returns NULL under OOM.  Thus the value of solid
    must be checked before dereferencing it in the uxa_get_offscreen()
    call.
    
    Signed-off-by: Bryce Harrington <bryce at canonical.com>
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/uxa/uxa-accel.c b/uxa/uxa-accel.c
index a5066c8..0650ac2 100644
--- a/uxa/uxa-accel.c
+++ b/uxa/uxa-accel.c
@@ -120,6 +120,10 @@ uxa_fill_spans(DrawablePtr pDrawable, GCPtr pGC, int n,
 
 		solid = uxa_acquire_solid(screen, src->pSourcePict);
 		FreePicture(src, 0);
+		if (!solid) {
+			FreePicture(dst, 0);
+			goto solid;
+		}
 
 		src = solid;
 		src_pixmap = uxa_get_offscreen_pixmap(src->pDrawable,
@@ -1110,6 +1114,10 @@ try_solid:
 
 			solid = uxa_acquire_solid(screen, src->pSourcePict);
 			FreePicture(src, 0);
+			if (!solid) {
+				FreePicture(dst, 0);
+				goto err;
+			}
 
 			src = solid;
 			src_pixmap = uxa_get_offscreen_pixmap(src->pDrawable,
diff --git a/uxa/uxa-render.c b/uxa/uxa-render.c
index 02bfa03..0f06e82 100644
--- a/uxa/uxa-render.c
+++ b/uxa/uxa-render.c
@@ -1061,6 +1061,8 @@ try_solid:
 			int src_off_x, src_off_y;
 
 			solid = uxa_acquire_solid(screen, src->pSourcePict);
+			if (!solid)
+				goto err_src;
 			FreePicture(src, 0);
 
 			src = solid;


More information about the xorg-commit mailing list