pixman: Branch 'master'

Søren Sandmann Pedersen sandmann at kemper.freedesktop.org
Sat May 16 09:08:43 PDT 2009


 pixman/combine.inc |   16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

New commits:
commit 010e28653f95bb78215e3cacb6a4f47d9a289fde
Author: Søren Sandmann Pedersen <sandmann at redhat.com>
Date:   Sat May 16 08:33:35 2009 -0400

    Don't read potentially uninitialized data in pixman_CombineMaskU()
    
    This is mainly to quiet valgrind. The data in question would only be
    uninitialized when the corresponding mask pixel was zero, so the end
    result is zero in any case.

diff --git a/pixman/combine.inc b/pixman/combine.inc
index ff18732..ef19d01 100644
--- a/pixman/combine.inc
+++ b/pixman/combine.inc
@@ -24,15 +24,21 @@
 static force_inline comp4_t
 combineMask (const comp4_t *src, const comp4_t *mask, int i)
 {
-    comp4_t s = *(src + i);
+    comp4_t s, m;
 
     if (mask)
     {
-	comp4_t m = *(mask + i) >> A_SHIFT;
-	
-	FbByteMul (s, m);
+	m = *(mask + i) >> A_SHIFT;
+
+	if (!m)
+	    return 0;
     }
-    
+
+    s = *(src + i);
+
+    if (mask)
+	FbByteMul (s, m);
+
     return s;
 }
 


More information about the xorg-commit mailing list