From baf301d122ac3d0aa076cc9682ef4f01bbe0caeb Mon Sep 17 00:00:00 2001 From: Glenn Randers-Pehrson Date: Sat, 13 Feb 2016 12:01:35 -0600 Subject: [PATCH] [libpng16] Restored "& 0xff" in png_save_uint_16() and png_save_uint_32() that were accidentally removed from libpng-1.6.17. --- ANNOUNCE | 6 ++++-- CHANGES | 4 +++- pngwutil.c | 12 ++++++------ 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/ANNOUNCE b/ANNOUNCE index a38bce4a1..809a3ee4f 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,4 +1,4 @@ -Libpng 1.6.22beta03 - February 10, 2016 +Libpng 1.6.22beta03 - February 13, 2016 This is not intended to be a public release. It will be replaced within a few weeks by a public version or by another test version. @@ -54,9 +54,11 @@ Version 1.6.22beta02 [February 8, 2016] extend the png_set_alpha_mode range as HDR imaging systems are starting to emerge. -Version 1.6.22beta03 [February 10, 2016] +Version 1.6.22beta03 [February 13, 2016] Added a common-law trademark notice and export control information to the LICENSE file, png.h, and the man page. + Restored "& 0xff" in png_save_uint_16() and png_save_uint_32() that + were accidentally removed from libpng-1.6.17. Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit diff --git a/CHANGES b/CHANGES index 868cb7761..9c678e0c1 100644 --- a/CHANGES +++ b/CHANGES @@ -5513,9 +5513,11 @@ Version 1.6.22beta02 [February 8, 2016] extend the png_set_alpha_mode range as HDR imaging systems are starting to emerge. -Version 1.6.22beta03 [February 10, 2016] +Version 1.6.22beta03 [February 13, 2016] Added a common-law trademark notice and export control information to the LICENSE file, png.h, and the man page. + Restored "& 0xff" in png_save_uint_16() and png_save_uint_32() that + were accidentally removed from libpng-1.6.17. Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit diff --git a/pngwutil.c b/pngwutil.c index 4aa7ffa03..aa5bda3c0 100644 --- a/pngwutil.c +++ b/pngwutil.c @@ -23,10 +23,10 @@ void PNGAPI png_save_uint_32(png_bytep buf, png_uint_32 i) { - buf[0] = (png_byte)(i >> 24); - buf[1] = (png_byte)(i >> 16); - buf[2] = (png_byte)(i >> 8); - buf[3] = (png_byte)(i ); + buf[0] = (png_byte)((i >> 24) & 0xffU); + buf[1] = (png_byte)((i >> 16) & 0xffU); + buf[2] = (png_byte)((i >> 8) & 0xffU); + buf[3] = (png_byte)( i & 0xffU); } /* Place a 16-bit number into a buffer in PNG byte order. @@ -36,8 +36,8 @@ png_save_uint_32(png_bytep buf, png_uint_32 i) void PNGAPI png_save_uint_16(png_bytep buf, unsigned int i) { - buf[0] = (png_byte)(i >> 8); - buf[1] = (png_byte)(i ); + buf[0] = (png_byte)((i >> 8) & 0xffU); + buf[1] = (png_byte)( i & 0xffU); } #endif