diff options
author | Glenn Randers-Pehrson <glennrp at users.sourceforge.net> | 2015-01-30 10:24:58 -0600 |
---|---|---|
committer | Glenn Randers-Pehrson <glennrp at users.sourceforge.net> | 2015-01-30 10:26:13 -0600 |
commit | 173432da9eb67ca5cdf80e64eda1492afaa2190d (patch) | |
tree | 7fff20f7576af85ade9d00d594a657df8d104b79 /pngrtran.c | |
parent | 4df1247bd628d2f1c5489c9e3e103894e5e69579 (diff) | |
download | libpng-173432da9eb67ca5cdf80e64eda1492afaa2190d.tar.gz |
[lbpng14] Quieted some harmless warnings from Coverity-scan.
Diffstat (limited to 'pngrtran.c')
-rw-r--r-- | pngrtran.c | 46 |
1 files changed, 32 insertions, 14 deletions
diff --git a/pngrtran.c b/pngrtran.c index 576eddf18..8d9d98186 100644 --- a/pngrtran.c +++ b/pngrtran.c @@ -1,8 +1,8 @@ /* pngrtran.c - transforms the data in a row for PNG readers * - * Last changed in libpng 1.4.13 [February 6, 2014] - * Copyright (c) 1998-2014 Glenn Randers-Pehrson + * Last changed in libpng 1.4.15 [%RDATE%] + * Copyright (c) 1998-2015 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) * @@ -2370,10 +2370,14 @@ png_do_rgb_to_gray(png_structp png_ptr, png_row_infop row_info, png_bytep row) for (i = 0; i < row_width; i++) { png_uint_16 red, green, blue, w; + png_byte hi,lo; - red = (png_uint_16)(((*(sp))<<8) | *(sp+1)); sp+=2; - green = (png_uint_16)(((*(sp))<<8) | *(sp+1)); sp+=2; - blue = (png_uint_16)(((*(sp))<<8) | *(sp+1)); sp+=2; + hi=*(sp)++; lo=*(sp)++; + red = (png_uint_16)((hi << 8) | (lo)); + hi=*(sp)++; lo=*(sp)++; + green = (png_uint_16)((hi << 8) | (lo)); + hi=*(sp)++; lo=*(sp)++; + blue = (png_uint_16)((hi << 8) | (lo)); if (red == green && red == blue) w = red; @@ -2405,10 +2409,14 @@ png_do_rgb_to_gray(png_structp png_ptr, png_row_infop row_info, png_bytep row) for (i = 0; i < row_width; i++) { png_uint_16 red, green, blue, gray16; + png_byte hi,lo; - red = (png_uint_16)(((*(sp))<<8) | *(sp+1)); sp+=2; - green = (png_uint_16)(((*(sp))<<8) | *(sp+1)); sp+=2; - blue = (png_uint_16)(((*(sp))<<8) | *(sp+1)); sp+=2; + hi=*(sp)++; lo=*(sp)++; + red = (png_uint_16)((hi << 8) | (lo)); + hi=*(sp)++; lo=*(sp)++; + green = (png_uint_16)((hi << 8) | (lo)); + hi=*(sp)++; lo=*(sp)++; + blue = (png_uint_16)((hi << 8) | (lo)); if (red != green || red != blue) rgb_error |= 1; @@ -2468,10 +2476,14 @@ png_do_rgb_to_gray(png_structp png_ptr, png_row_infop row_info, png_bytep row) for (i = 0; i < row_width; i++) { png_uint_16 red, green, blue, w; + png_byte hi,lo; - red = (png_uint_16)(((*(sp))<<8) | *(sp+1)); sp+=2; - green = (png_uint_16)(((*(sp))<<8) | *(sp+1)); sp+=2; - blue = (png_uint_16)(((*(sp))<<8) | *(sp+1)); sp+=2; + hi=*(sp)++; lo=*(sp)++; + red = (png_uint_16)((hi << 8) | (lo)); + hi=*(sp)++; lo=*(sp)++; + green = (png_uint_16)((hi << 8) | (lo)); + hi=*(sp)++; lo=*(sp)++; + blue = (png_uint_16)((hi << 8) | (lo)); if (red == green && red == blue) w = red; @@ -2505,9 +2517,15 @@ png_do_rgb_to_gray(png_structp png_ptr, png_row_infop row_info, png_bytep row) for (i = 0; i < row_width; i++) { png_uint_16 red, green, blue, gray16; - red = (png_uint_16)((*(sp)<<8) | *(sp+1)); sp+=2; - green = (png_uint_16)((*(sp)<<8) | *(sp+1)); sp+=2; - blue = (png_uint_16)((*(sp)<<8) | *(sp+1)); sp+=2; + png_byte hi,lo; + + hi=*(sp)++; lo=*(sp)++; + red = (png_uint_16)((hi << 8) | (lo)); + hi=*(sp)++; lo=*(sp)++; + green = (png_uint_16)((hi << 8) | (lo)); + hi=*(sp)++; lo=*(sp)++; + blue = (png_uint_16)((hi << 8) | (lo)); + if (red != green || red != blue) rgb_error |= 1; gray16 = (png_uint_16)((rc*red + gc*green + bc*blue)>>15); |