Known bugs in libpng version 1.2.7 1. November 3, 2004: libpng-1.2.7 fails to update the color_type variable after performing the strip_alpha function. STATUS: Fixed in libpng-1.2.8beta3. 2. November 3, 2004: The PNG_SIZE_MAX macro sometimes doesn't work properly when png_size_t is smaller than png_uint_32. STATUS: Fixed in libpng-1.2.8beta3. In png.h, #define PNG_SIZE_MAX (~((png_size_t)0)) is changed to #define PNG_SIZE_MAX ((png_size_t)(-1)) 3. November 3, 2004: There is an overflow on some platforms in pngrutil.c, in the expression if ((png_uint_32)png_ptr->rowbytes + 1 > PNG_SIZE_MAX) png_error(png_ptr, "Row has too many bytes to allocate in memory."); STATUS: Fixed in libpng-1.2.8beta3. The expression is changed to if ((png_uint_32)png_ptr->rowbytes > PNG_SIZE_MAX - 1) png_error(png_ptr, "Row has too many bytes to allocate in memory."); 4. April 22, 2001: pnggccrd.c has been reported to crash on NetBSD when reading interlaced PNG files, when assembler code is enabled but running on a non-MMX i386 platform. STATUS: Under investigation. The change to pnggccrd.c in libpng-1.2.1 fixed a problem under FreeBSD but not the problem with NetBSD, which still fails as of libpng-1.2.2rc1.