Filename |
Description |
1bpp-no-palette.bmp |
A bitmap that has 1 bit per pixel and no palette.
This is technically invalid, but a bitmap processor could default to black and white.
|
1bpp-pixeldata-cropped.bmp |
A 1 bpp bitmap that ends in the middle of the pixel data.
This tests that what happens when a call to fread() fails.
This bitmap processor should probably process the data that
it does have AND display a diagnostic.
|
24bpp-pixeldata-cropped.bmp |
A 24 bpp bitmap that ends in the middle of the pixel data.
This tests that what happens when a call to fread() fails.
This bitmap processor should probably process the data that
it does have AND display a diagnostic.
|
32bpp-pixeldata-cropped.bmp |
A 32 bpp bitmap that ends in the middle of the pixel data.
This tests that what happens when a call to fread() fails.
This bitmap processor should probably process the data that
it does have AND display a diagnostic.
|
4bpp-no-palette.bmp |
A bitmap that has 4 bit per pixel and no palette.
This is an invalid bitmap, but a bitmap processor could use default colors.
|
4bpp-pixeldata-cropped.bmp |
An 4 bpp bitmap that ends in the middle of the pixel data.
This tests that what happens when a call to fread() fails.
This bitmap processor should probably process the data that
it does have AND display a diagnostic.
|
555-pixeldata-cropped.bmp |
A 5-5-5 16 bpp bitmap that ends in the middle of the pixel data.
This tests that what happens when a call to fread() fails.
This bitmap processor should probably process the data that
it does have AND display a diagnostic.
|
8bpp-colorsimportant-large.bmp |
An 8 bpp bitmap with five colors, but a very large 'biColorsImportant' field.
This is invalid--biColorsImportant shouldn't exceed biColorsUsed.
|
8bpp-colorsimportant-negative.bmp |
An 8 bpp bitmap with a negative 'biColorsImportant' field.
This is invalid--biColorsImportant can't be below 0.
|
8bpp-colorsused-large.bmp |
An 8 bpp bitmap with a very large 'biColorsUsed' field.
This is invalid--biColorsImportant shouldn't exceed 256.
This attempts to trick the bitmap processor into accessing invalid memory.
|
8bpp-colorsused-negative.bmp |
An 8 bpp bitmap with a negative 'biColorsUsed' field.
This is invalid--biColorsImportant can't be below 0.
This attempts to trick the bitmap processor into accessing invalid memory.
|
8bpp-no-palette.bmp |
A bitmap that has 8 bits per pixel and no palette.
This is an invalid bitmap, but a bitmap processor could use default colors.
|
8bpp-pixeldata-cropped.bmp |
An 8 bpp bitmap that ends in the middle of the pixel data.
This tests that what happens when a call to fread() fails.
This bitmap processor should probably process the data that
it does have AND display a diagnostic.
|
bitdepth-large.bmp |
A bitmap with a 'biBitCount' field in its BMPINFOHEADER that is very large.
This attempts to trick the bitmap processor into thinking the bit depth is negative.
|
bitdepth-odd.bmp |
A bitmap with a 'biBitCount' field in its BMPINFOHEADER that is odd.
|
bitdepth-zero.bmp |
A bitmap with a 'biBitCount' field in its BMPINFOHEADER that is 0.
|
colormasks-cropped.bmp |
A BI_BITFIELDS bitmap that is one byte short of having a complete
colormask array.
This tests that what happens when fread() returns fewer bytes
than expected.
|
colormasks-missing.bmp |
A BI_BITFIELDS bitmap file that is so short that it doesn't include the
colormask array.
This tests that what happens when a call to fread() fails.
|
compression-bad-rle4-for-8bpp.bmp |
A 4 bpp bitmap with a 'biCompression' field of BI_RLE8.
Only 8 bpp bitmaps may use BI_RLE8.
|
compression-bad-rle8-for-4bpp.bmp |
An 8 bpp bitmap with a 'biCompression' field of BI_RLE4.
Only 4 bpp bitmaps may use BI_RLE4.
|
compression-unknown.bmp |
A bitmap with an unrecognized 'biCompression' field.
|
directory.bmp |
A directory that has a '.bmp' extension.
This tests what happens when the directory entity exists,
but fopen() fails.
|
emptyfile.bmp |
A zero-byte file.
This tests that what happens when the first call to fread() fails.
|
fileinfoheader-cropped.bmp |
A bitmap that is one byte short of having a complete fileinfoheader.
This tests that what happens when fread() returns fewer bytes
than expected.
|
height-zero.bmp |
A bitmap with a 'biHeight' field in its BMPINFOHEADER that is 0.
|
infoheader-cropped.bmp |
A bitmap that is one byte short of having a complete BITMAPINFOHEADER.
This tests that what happens when fread() returns fewer bytes
than expected.
|
infoheader-missing.bmp |
A bitmap file that is so short that it doesn't include a BITMAPINFOHEADER.
This tests that what happens when a call to fread() fails.
|
infoheadersize-large.bmp |
A bitmap with a 'biSize' field in its BMPINFOHEADER that is too large.
|
infoheadersize-small.bmp |
A bitmap with a 'biSize' field in its BMPINFOHEADER that is too small.
|
infoheadersize-zero.bmp |
A bitmap with a 'biSize' field in its BMPINFOHEADER that is 0.
|
magicnumber-bad.bmp |
A bitmap with an invalid magic number (it uses 'Bm' instead of 'BM')
A bitmap processor that ignores this field is probably trusting the file extension
or doing a case-insensitive compare.
|
magicnumber-cropped.bmp |
A one byte bitmap that only contains the 'B' of the magic number.
This tests that what happens when the first call to fread() returns
fewer bytes than expected.
|
offbits-large.bmp |
A bitmap with an 'dwOffBits' field that is larger than the file size.
|
offbits-negative.bmp |
A bitmap with an 'dwOffBits' field that is -1.
This is supposed to be interpreted as an unsigned value, so it will
either be understood as a very large (illegal) value,
or a negative value (also illegal).
|
offbits-zero.bmp |
A bitmap with an 'dwOffBits' field that is 0.
A bitmap processor may recover from this by assuming that the pixel data
immediately follows the palette.
|
palette-cropped.bmp |
A bitmap that is one byte short of having a complete palette.
This tests that what happens when fread() returns fewer bytes
than expected.
|
palette-missing.bmp |
A bitmap file that is so short that it doesn't include the palette.
This tests that what happens when a call to fread() fails.
|
palette-too-big.bmp |
A bitmap that has 1 bit per pixel that has a palette with 5000 colors. |
pixeldata-missing.bmp |
A bitmap file that doesn't include any of the pixel data.
|
rle4-absolute-cropped.bmp |
A simple run-length encoded bitmap that has 4 bits per pixel.
The entire bitmap is in 'absolute mode'.
The pixel data ends prematurely--in the middle of an absolute
escape sequence.
|
rle4-delta-cropped.bmp |
A simple run-length encoded bitmap that has 4 bits per pixel.
The bitmap uses 'delta escapes'.
The file ends in the middle of a delta escape.
|
rle4-no-end-of-line-marker.bmp |
An RLE4 compressed bitmap with no end-of-line sequences.
It is unclear if a bitmap processor should implicitly add
end-of-line markers when the pixel run the row's width,
or if it should ignore all pixel data beyond the row's width.
|
rle4-runlength-cropped.bmp |
A simple run-length encoded bitmap that has 4 bits per pixel.
The entire bitmap is in 'encoded mode'.
The pixel data ends prematurely--in the middle of an encoded
escape sequence.
|
rle8-absolute-cropped.bmp |
A simple run-length encoded bitmap that has 8 bits per pixel.
The entire bitmap is in 'absolute mode'.
The pixel data ends prematurely--in the middle of an absolute
escape sequence.
|
rle8-delta-cropped.bmp |
A simple run-length encoded bitmap that has 8 bits per pixel.
The bitmap uses 'delta escapes'.
The file ends in the middle of a delta escape.
|
rle8-deltaleavesimage.bmp |
A simple run-length encoded bitmap that has 8 bits per pixel.
The bitmap contains 'delta' escape sequences the leave the image.
The intent is to trick the processor into accessing invalid memory.
|
rle8-no-end-of-line-marker.bmp |
An RLE8 compressed bitmap with no end-of-line sequences.
It is unclear if a bitmap processor should implicitly add
end-of-line markers when the pixel run the row's width,
or if it should ignore all pixel data beyond the row's width.
|
rle8-runlength-cropped.bmp |
A simple run-length encoded bitmap that has 8 bits per pixel.
The entire bitmap is in 'encoded mode'.
The pixel data ends prematurely--in the middle of an encoded
escape sequence.
|
width-negative.bmp |
A bitmap with a negative 'biWidth' field in its BMPINFOHEADER.
|
width-times-height-overflow.bmp |
A bitmap whose reported width and height cause a 32bit overflow when
they are multiplied together.
This tries to trick the image processor into allocating a very small
buffer that it thinks is very large.
|
width-zero.bmp |
A bitmap with a 'biWidth' field in its BMPINFOHEADER that is 0.
|