python-imaging/Pillow — pull request #507 by wiredfool (2014-01-28 04:43:35+00:00)
Title: Reference tests for BMP format

Includes #438 from @eddwardo.

* This PR has all of the images from the Bmpsuite (https://github.com/jsummers/bmpsuite) test images. The bmpsuite images are in the public domain.
* Good images are parsed correctly, with three exceptions for unsupported compression or bit layouts.
* Bad or questionable images don't crash or DOS the machine.

* There's one fix for abnormally large palette sizes taking gigabytes.
* Support for basic version 4 and 5 BMPs (108 and 124 byte headers) is included. No special features are decoded.

The sticking point from the previous patch is apparently RLE compression in version 4 headers. We still don't support that, but I don't see a reason not to include those versions for the other encodings that we do support.