summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFederico Mena Quintero <federico@gnome.org>2020-03-18 18:49:30 -0600
committerFederico Mena Quintero <federico@gnome.org>2020-03-18 18:52:16 -0600
commit6fe0131394fb029d2fccaee6b8edcb108840ad8a (patch)
tree7ffa7210539f7bd245cc59a3cc55d2d357bc7ab4
parent3344f507dd4483643a4f238ea303ba49fc8469fc (diff)
Initialize temporary buffers in general_composite_rect()
Otherwise, Valgrind shows things like "conditional jump or move depends on uninitialised values" errors much later in calling code. For example, see https://gitlab.gnome.org/GNOME/librsvg/issues/572 Fixes https://gitlab.freedesktop.org/pixman/pixman/issues/9
-rw-r--r--pixman/pixman-general.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/pixman/pixman-general.c b/pixman/pixman-general.c
index 7d74f98..7e5a0d0 100644
--- a/pixman/pixman-general.c
+++ b/pixman/pixman-general.c
@@ -165,6 +165,12 @@ general_composite_rect (pixman_implementation_t *imp,
if (!scanline_buffer)
return;
+
+ memset (scanline_buffer, 0, width * Bpp * 3 + 15 * 3);
+ }
+ else
+ {
+ memset (stack_scanline_buffer, 0, sizeof (stack_scanline_buffer));
}
src_buffer = ALIGN (scanline_buffer);