summaryrefslogtreecommitdiff
path: root/pngpread.c
diff options
context:
space:
mode:
authorGlenn Randers-Pehrson <glennrp@shaggy.simplesystems.org>2009-05-16 07:32:28 -0500
committerGlenn Randers-Pehrson <glennrp@shaggy.simplesystems.org>2009-05-16 07:32:28 -0500
commitee59a9f9f01ecc319ba33b561662b29a4af2abad (patch)
treea496b419a76f409a91b8b9e13112ec691594d408 /pngpread.c
parent7654682c2599da41294ba976294f713df7e0089e (diff)
downloadlibpng-ee59a9f9f01ecc319ba33b561662b29a4af2abad.tar.gz
Set png_ptr->old_prev_row_size=0 in pngpread.c and pngrutil.c
This forces the prev_row array to be cleared before the first row of each image and interlace pass.
Diffstat (limited to 'pngpread.c')
-rw-r--r--pngpread.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/pngpread.c b/pngpread.c
index c12743515..1cb036db7 100644
--- a/pngpread.c
+++ b/pngpread.c
@@ -1110,11 +1110,12 @@ png_read_push_finish_row(png_structp png_ptr)
if (png_ptr->row_number < png_ptr->num_rows)
return;
+ png_ptr->old_prev_row_size = 0; /* Force prev_row to be cleared */
+
+#if defined(PNG_READ_INTERLACING_SUPPORTED)
if (png_ptr->interlaced)
{
png_ptr->row_number = 0;
- png_memset(png_ptr->prev_row, 0, png_ptr->rowbytes + 1);
-
do
{
png_ptr->pass++;
@@ -1147,6 +1148,7 @@ png_read_push_finish_row(png_structp png_ptr)
} while (png_ptr->iwidth == 0 || png_ptr->num_rows == 0);
}
+#endif /* PNG_READ_INTERLACING_SUPPORTED */
}
#if defined(PNG_READ_tEXt_SUPPORTED)