[Pixman] [PATCH 2/3] Make 'fast_composite_scaled_nearest_*' less suspicious

Siarhei Siamashka siarhei.siamashka at gmail.com
Mon Jan 10 14:15:42 PST 2011


From: Siarhei Siamashka <siarhei.siamashka at nokia.com>

Taking address of a variable and then using it as an array looks suspicious
to static code analyzers. So change it into an array with 1 element to make
them happy. Both old and new variants of this code are correct because 'vx'
and 'unit_x' arguments are set 0 and it means that the called scanline function
can only access a single element of 'zero' buffer.
---
 pixman/pixman-fast-path.h |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/pixman/pixman-fast-path.h b/pixman/pixman-fast-path.h
index 6fe448c..93e4bf9 100644
--- a/pixman/pixman-fast-path.h
+++ b/pixman/pixman-fast-path.h
@@ -346,16 +346,16 @@ fast_composite_scaled_nearest_ ## scale_func_name (pixman_implementation_t *imp,
 	}											\
 	else if (PIXMAN_REPEAT_ ## repeat_mode == PIXMAN_REPEAT_NONE)				\
 	{											\
-	    static src_type_t zero = 0;								\
+	    static src_type_t zero[1] = { 0 };							\
 	    if (y < 0 || y >= src_image->bits.height)						\
 	    {											\
-		scanline_func (dst, &zero, left_pad + width + right_pad, 0, 0, 0);		\
+		scanline_func (dst, zero, left_pad + width + right_pad, 0, 0, 0);		\
 		continue;									\
 	    }											\
 	    src = src_first_line + src_stride * y;						\
 	    if (left_pad > 0)									\
 	    {											\
-		scanline_func (dst, &zero, left_pad, 0, 0, 0);					\
+		scanline_func (dst, zero, left_pad, 0, 0, 0);					\
 	    }											\
 	    if (width > 0)									\
 	    {											\
@@ -363,7 +363,7 @@ fast_composite_scaled_nearest_ ## scale_func_name (pixman_implementation_t *imp,
 	    }											\
 	    if (right_pad > 0)									\
 	    {											\
-		scanline_func (dst + left_pad + width, &zero, right_pad, 0, 0, 0);		\
+		scanline_func (dst + left_pad + width, zero, right_pad, 0, 0, 0);		\
 	    }											\
 	}											\
 	else											\
-- 
1.7.2.2



More information about the Pixman mailing list