When attempting to "crush" a PNG file with pngcrush 1.5.0, my Linux 6.2 system experiences a segmentation fault and core dump. This is consistent and repeatable. I have been unsuccessful in compressing a file so far.
Appears to be related to the "cexcept" error handler.
The stack becomes corrupted upon return from count_colors().
I cannot reproduce the crash under Win95/gcc-2.95.2/DJGPP.
I asked Ken to comment out the #define PNGCRUSH_COUNT_COLORS
at line 23 in pngcrush.c, and he reports that pngcrush ran
successfully with this change.
I have reduced the priority of this bug because version 1.5.1 does not use the color-counting function by default; you can control it via the commandline "-cc" and "-no_cc" arguments. I built and ran pngcrush on one of the Linux systems in the Sourceforge Compile Farm and did not observe a crash, even with color-counting enabled (couldn't figure out how to get into the RedHat environment, though).
color-counting was removed entirely from pngcrush version 1.7.48