xserver: Branch 'master'

Keith Packard keithp at kemper.freedesktop.org
Sat May 15 19:52:53 PDT 2010


 render/render.c |    7 +++++++
 1 file changed, 7 insertions(+)

New commits:
commit 87ea5760f86eb60840e6e2c10012915952df5377
Author: Keith Packard <keithp at keithp.com>
Date:   Mon May 10 11:46:25 2010 -0700

    Check pixmap allocation return value when creating glyphs
    
    The driver may decide that the pixmap is too large or something and
    fail to allocate a pixmap; not checking would lead to a segfault.
    
    Signed-off-by: Keith Packard <keithp at keithp.com>
    Reviewed-by: Jamey Sharp <jamey at minilop.net>

diff --git a/render/render.c b/render/render.c
index bba1ce1..9aabcfb 100644
--- a/render/render.c
+++ b/render/render.c
@@ -1140,6 +1140,12 @@ ProcRenderAddGlyphs (ClientPtr client)
 						   width, height, depth,
 						   CREATE_PIXMAP_USAGE_GLYPH_PICTURE);
 
+		if (!pDstPix)
+		{
+		    err = BadAlloc;
+		    goto bail;
+		}
+
 		GlyphPicture (glyph)[screen] = pDst =
 			CreatePicture (0, &pDstPix->drawable,
 				       glyphSet->format,
@@ -1149,6 +1155,7 @@ ProcRenderAddGlyphs (ClientPtr client)
 		/* The picture takes a reference to the pixmap, so we
 		   drop ours. */
 		(pScreen->DestroyPixmap) (pDstPix);
+		pDstPix = NULL;
 
 		if (! pDst)
 		{


More information about the xorg-commit mailing list