summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Fox <dyntryx@gmail.com>2009-01-17 23:46:27 +0000
committerSean Fox <dyntryx@gmail.com>2009-01-17 23:46:27 +0000
commit9e4e6c85ff7a2b781d0a9706f16e9b481c4e812b (patch)
tree684f021d15ab58571c2ab828b4e8dc59e47617fe
parent3534f43bcbc323453931c072f8f981ef01930490 (diff)
downloadlibnsbmp-9e4e6c85ff7a2b781d0a9706f16e9b481c4e812b.tar.gz
libnsbmp-9e4e6c85ff7a2b781d0a9706f16e9b481c4e812b.tar.bz2
Disallow a 0 value in the 'bits per pixel' field of a Windows 2.x header. Kudos to Joonas Pihlaja.
svn path=/trunk/libnsbmp/; revision=6122
-rw-r--r--libnsbmp.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/libnsbmp.c b/libnsbmp.c
index 4d38207..2b08c6d 100644
--- a/libnsbmp.c
+++ b/libnsbmp.c
@@ -367,6 +367,8 @@ static bmp_result bmp_analyse_header(bmp_image *bmp, uint8_t *data) {
if (read_uint16(data, 8) != 1)
return BMP_DATA_ERROR;
bmp->bpp = read_uint16(data, 10);
+ if (bmp->bpp == 0)
+ return BMP_DATA_ERROR;
bmp->colours = (1 << bmp->bpp);
palette_size = 3;
} else if (header_size < 40) {