diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2017-08-14 17:26:58 +0200 |
|---|---|---|
| committer | Even Rouault <even.rouault@spatialys.com> | 2017-08-14 17:26:58 +0200 |
| commit | baf0c1ad4572daa89caa3b12985bdd93530f0dd7 (patch) | |
| tree | ca1405ff4a19577894cfb234cc574c7ca1000368 /src/bin | |
| parent | afb308b9ccbe129608c9205cf3bb39bbefad90b9 (diff) | |
bmp_read_info_header(): reject bmp files with biBitCount == 0 (#983)
Diffstat (limited to 'src/bin')
| -rw-r--r-- | src/bin/jp2/convertbmp.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/bin/jp2/convertbmp.c b/src/bin/jp2/convertbmp.c index b49e7a08..2715fdf2 100644 --- a/src/bin/jp2/convertbmp.c +++ b/src/bin/jp2/convertbmp.c @@ -392,6 +392,10 @@ static OPJ_BOOL bmp_read_info_header(FILE* IN, OPJ_BITMAPINFOHEADER* header) header->biBitCount = (OPJ_UINT16)getc(IN); header->biBitCount |= (OPJ_UINT16)((OPJ_UINT32)getc(IN) << 8); + if (header->biBitCount == 0) { + fprintf(stderr, "Error, invalid biBitCount %d\n", 0); + return OPJ_FALSE; + } if (header->biSize >= 40U) { header->biCompression = (OPJ_UINT32)getc(IN); |
