The png_push_read_chunk function in pngpread.c in the progressive decoder in libpng 1.6.x through 1.6.9 allows remote attackers to cause a denial of service (infinite loop and CPU consumption) via an IDAT chunk with a length of zero.
https://sourceforge.net/projects/libpng/files/libpng16/patch-libpng16-vu684412.diff
http://www.kb.cert.org/vuls/id/684412
http://lists.opensuse.org/opensuse-updates/2014-03/msg00029.html