16 Commits

Author SHA1 Message Date
John Bowler
da109d3e6e Improve test coverage with a "correctly" damaged palette index test
The PNG IDAT did not include a '255' entry, the highest entry is '254',
this corrects the test PNG to have a palette with only 254 entries so
that it triggers the palette index checks.

Signed-off-by: John Bowler <jbowler@acm.org>
Signed-off-by: Cosmin Truta <ctruta@gmail.com>
2024-01-17 12:43:31 +02:00
John Bowler
2ea11e2235 Palette index checking fixes
The palette index checking function is called by default but only if
some *other* transformation is happening.  This makes the 'get palette
max' public API disfunctional (sometimes it works, sometimes it returns
0) and causes the supposed default behaviour of checking the palette
index only to work sometimes.  It works in pngtest, it doesn't work in
pngcp.

The check in pngread also has an off-by-one error; the number recorded
is the highest index found so it should be checked to ensure that it is
less than the palette length but it was checked for being greater.

The pull request includes a set of 8 files which all have the full range
of possible indices including one (the highest) which is invalid because
the PLTE chunk is one short of the maximum for each bit depth.

Signed-off-by: John Bowler <jbowler@acm.org>
2024-01-16 14:59:02 -08:00
Stephen Kitt
9f9f8d8e63 Fix bashisms
makepngs.sh relies on a Bash feature in one of its case statements,
";;&"; this should be made explicit in the shebang.

intgamma.sh declares a function in a manner which may fail in non-Bash
sh implementations, this patch uses the correct syntax.

Based on a patch by Roflcopter4:
https://github.com/joncampbell123/dosbox-x/pull/3850

Signed-off-by: Stephen Kitt <steve@sk2.org>
2023-12-27 12:53:48 +02:00
Cosmin Truta
f6036c0aeb Update, rename and clean up various scripts
Rename contrib/tools/chkfmt to contrib/tools/chkfmt.sh; refactor:
 * Increase the max line length for contrib/**/*.[ch] from 96 to 100.
 * Set the max line length for ci_*.sh to 100.
 * Use `basename $0` instead of the hard-coded script name.
 * Update comments.

Remove contrib/tools/reindent. For automated code formatting, including
indentation, we need a robust solution.

Add an empty line after the hashbang line in all scripts.

Remove the "last changed" version info from comment headers.
(The version control system maintains this information automatically.)
2022-11-20 20:21:41 +02:00
luz.paz
eb91c0e4ed More misc. typos
found via `codespell-q 3`
please review
2018-02-09 06:57:29 -05:00
Glenn Randers-Pehrson
d19e8b9a4b [libpng16] Renamed chunks in contrib/testpngs/crashers to avoid having files
whose names differ only in case; this causes problems with some platforms
(github issue #172).
2017-08-11 06:39:26 -05:00
Glenn Randers-Pehrson
06ec4252a4 [libpng16] Made the huge_*_chunk.png files smaller. I could have removed the
IEND chunks, too, but although no application will read them, they give humans
something to look at.
2017-08-07 13:15:31 -05:00
Glenn Randers-Pehrson
33848546a3 [libpng16] Added contrib/testpngs/crashers/huge-XXXX-chunk.png 2017-08-07 12:27:07 -05:00
Glenn Randers-Pehrson
fa2f72258a [libpng16] Imported from libpng-1.6.32beta11.tar 2017-08-07 09:44:32 -05:00
Glenn Randers-Pehrson
7653aaa4b1 [libpng16] Rename bad_iccp.png, huge_idat.png to bad_iCCP.png, huge_iDAT.png
in the contrib/testpngs/crashers directory.
2017-08-07 07:34:02 -05:00
Glenn Randers-Pehrson
c339da7fc2 [libpng16] Removed JuNK and JuNk chunks from empty_ancillary_chunks.png test file. 2017-08-06 10:52:01 -05:00
Glenn Randers-Pehrson
c33d624988 [libpng] Added huge_IDAT.png and empty_ancillary_chunks.png to testpngs/crashers
Make pngtest --strict, --relax, --xfail options imply -m (multiple).
2017-08-05 11:01:18 -05:00
Glenn Randers-Pehrson
378e926d78 [libpng16] Added contrib/testpngs/crashers/bad_iccp.png 2017-08-04 19:29:23 -05:00
Glenn Randers-Pehrson
207392821d [libpng16] Moved bad pngs from tests to contrib/libtests/crashers
Moved testing of bad pngs into a separate tests/pngtest-badpngs script
Added the --xfail (expected FAIL) option to pngtest.c. It writes XFAIL
    in the output but PASS for the libpng test.
2017-08-04 14:17:28 -05:00
Glenn Randers-Pehrson
9f7134c3fc [libpng16] Update some "last changed" dates 2017-06-29 17:52:18 -05:00
John Bowler
a2671a7f49 test PNG files (contrib/testpngs)
Back ported from libpng 1.7

Signed-off-by: John Bowler <jbowler@acm.org>
2015-09-25 13:10:13 -07:00