Image Pipeline Pack
Run the whole pack through your image path. Most of it should convert cleanly; the rest should be rejected with a specific reason. An 8000x8000 image and a 1x1 image are both in here, because limits usually break at one end or the other.
SHA-256 ef337de9f5dbec0b521ca653372535de5f75bbf3b5a92e9c6100fa5ff77c4a15
What is inside
| File | Format | Size | Expected result |
|---|---|---|---|
| png-1x1.png | PNG | 70 bytes | The smallest valid PNG. Accepted. |
| png-8000x8000.png | PNG | 259 KB | Rejected by a dimension limit, or decoded without allocating w x h x 4 up front. |
| png-bad-crc.png | PNG | 1.3 KB | Rejected by a strict decoder; displayed by a lenient one. Know which you have. |
| png-truncated.png | PNG | 719 bytes | Rejected. The signature and IHDR are intact. |
| no-extension | PNG (no extension) | 183 bytes | Identified as PNG from its bytes. |
| jpeg-baseline.jpg | JPEG | 2.8 KB | Baseline JPEG. Accepted. |
| fake-jpeg-is-executable.jpg | JPEG (spoofed) | 2.1 KB | Rejected: the bytes are not a JPEG. |
| gif-animated.gif | GIF | 2.4 KB | All four frames preserved, or deliberately flattened to the first. |
| gif-static.gif | GIF | 774 bytes | The single-frame control. |
| bmp-24bit.bmp | BMP | 48.1 KB | An uncompressed format with a bottom-up row order that catches naive readers. |
| favicon.ico | ICO | 145 bytes | A container holding more than one size. |
| tiff-rgb-le.tif | TIFF | 27.2 KB | Little-endian TIFF, the common case. |
| tiff-rgb-be.tif | TIFF | 27.2 KB | Big-endian TIFF. A reader assuming II misreads every offset in the file. |
| flat-96x96.webp | WEBP | 32 bytes | Lossless WEBP. Note the file begins RIFF, like a WAV. |
| transparent-1x1.webp | WEBP | 32 bytes | Half-opaque alpha, so flattening is visible immediately. |
| svg-plain.svg | SVG | 303 bytes | Harmless vector graphic. The control for the next one. |
| svg-with-script.svg | SVG | 457 bytes | Never served inline from your own origin. |
sha256sum -c. Every file is generated from source, carries no third-party copyright, and is free to redistribute.Questions
Why are there two TIFF files?
TIFF is the one common image format that can be written in either byte order. One begins II for Intel little-endian, the other MM for Motorola big-endian. A decoder that assumes one of them reads garbage widths and offsets from the other, so both are in the pack.
What does the 8000x8000 PNG test?
Memory allocation before validation. The compressed file is small, but a decoder that allocates width times height times four bytes up front needs roughly 256 MB for it. That is the shape of most image denial-of-service bugs.
Other packs
Upload Torture Test Pack · Filename Compatibility Pack · Encoding and Unicode Pack · Archive and ZIP Security Pack · Document Parser Pack · Structured Data Pack · Email Parser Pack