
Known bugs and suggested enhancements in libpng-1.0.8

1: November 28, 2000 -- BUG -- buffer overflow in png_chunk_warning

   A buffer overflow occurs in png_chunk_warning() because 16 bytes
   are allocated for "[nn][nn][nn][nn]" which requires 18 bytes.

   Status: Fixed in libpng-1.0.9beta4

2: November 3, 2000 -- BUG -- incorrect iCCP chunk is written

   The compression_type byte in the iCCP chunk written by libpng is
   usually incorrect.

   Status: Fixed in libpng-1.0.9beta1

3. October 12, 2000 -- BUG -- pngtest fails

   The three WRITEFILE calls in pngtest.c are incorrect.  They must be
   changed to read

   WRITEFILE((png_FILE_p)png_ptr->io_ptr,  data, length, check);
   WRITEFILE(io_ptr, near_data, length, check);
   WRITEFILE(io_ptr, buf, written, err);

4. August 28, 2000 -- BUG -- pnggccrd.c

   The interlacing() function has still not been fully converted and
   will not compile under gcc-2.95.2; it is currently ifdef'ed out.

   STATUS: Fixed in libpng-1.0.9.  There were also bugs in pngvcrd.c
   which have been fixed.  The replacement files are available at the
   PNG web site (http://www.libpng.org/pub/png).

5. March 15, 1998 -- OPTIMIZATION -- Kevin Bracey

   Loops need to be optimized everywhere

   Make them count down instead of up -- Kevin Bracey

   Optimizing compilers don't need this, and making
   the change would be error prone -- Tom Lane, Glenn R-P

   Question whether i-- or --i is better.

   STATUS: Under investigation, postponed until after
   libpng-2.0.0.  About 160 loops will be turned around
   in libpng-2.0.x betaxx, for testing.

6. July 4, 1998 -- ENHANCEMENT -- Glenn R-P

   libpng-1.0.5 and earlier transform colors to gamma=1.0 space for
   merging with background, and then back to the image's gamma.  The
   bit_depth of the intermediate (gamma=1.0) representation is probably
   not sufficient.  In the typical gamma=1/2.2 situation, the linear
   pixels need about 4 more bits than the gamma-encoded ones, to avoid
   loss of precision.  A similar situation exists with the rgb_to_gray
   operation.

   STATUS: under development.

7. September 1999 -- ENHANCEMENT --

   It should be possible to use libpng without floating-point arithmetic.

   STATUS: Under investigation, implementation postponed until after
   libpng-2.0.0.

   Much of this was completed in libpng-1.0.6, but gamma compensation
   is not yet done in fixed-point arithmetic.

