--- pngwutil.c.orig 2006-11-28 17:25:59.000000000 +0100 +++ pngwutil.c 2006-12-27 15:47:53.000000000 +0100 @@ -733,7 +733,7 @@ png_write_iCCP(png_structp png_ptr, png_ png_size_t name_len; png_charp new_name; compression_state comp; - int embedded_profile_len = 0; + unsigned int embedded_profile_len = 0; png_debug(1, "in png_write_iCCP\n"); @@ -757,8 +757,8 @@ png_write_iCCP(png_structp png_ptr, png_ profile_len = 0; if (profile_len > 3) - embedded_profile_len = ((*(profile ))<<24) | ((*(profile+1))<<16) | - ((*(profile+2))<< 8) | ((*(profile+3)) ); + embedded_profile_len = (((png_byte)(*(profile)))<<24) | (((png_byte)(*(profile+1)))<<16) | + (((png_byte)(*(profile+2)))<< 8) | ((png_byte)(*(profile+3))); if (profile_len < embedded_profile_len) {