diff options
author | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2017-06-28 22:16:29 +0000 |
---|---|---|
committer | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2017-06-28 22:16:29 +0000 |
commit | cd71bbe55d95913bd4a4d38ea83ce1cf8d8ce35a (patch) | |
tree | b8d059e5cf675305c757f0a636db5343be33dfec /converter | |
parent | 3b7ef037562cdd48e79ae588c69a6713da6e7b16 (diff) | |
download | netpbm-mirror-cd71bbe55d95913bd4a4d38ea83ce1cf8d8ce35a.tar.gz netpbm-mirror-cd71bbe55d95913bd4a4d38ea83ce1cf8d8ce35a.tar.xz netpbm-mirror-cd71bbe55d95913bd4a4d38ea83ce1cf8d8ce35a.zip |
Release 10.73.12
git-svn-id: http://svn.code.sf.net/p/netpbm/code/stable@3009 9d0c8265-081b-0410-96cb-a4ca84ce46f8
Diffstat (limited to 'converter')
-rw-r--r-- | converter/other/bmptopnm.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/converter/other/bmptopnm.c b/converter/other/bmptopnm.c index bb49f4a4..05749c27 100644 --- a/converter/other/bmptopnm.c +++ b/converter/other/bmptopnm.c @@ -369,12 +369,18 @@ readWindowsBasic40ByteInfoHeader(FILE * const ifP, int colorsimportant; /* ColorsImportant value from header */ int colorsused; /* ColorsUsed value from header */ unsigned short planesField, bitCountField; + int32_t colsField; headerP->class = C_WIN; - headerP->cols = GetLong(ifP); - if (headerP->cols == 0) + pm_readlittlelong2(ifP, &colsField); + + if (colsField == 0) pm_error("Invalid BMP file: says width is zero"); + else if (colsField < 0) + pm_error("Invalid BMP file: says width is negative (%d)", colsField); + else + headerP->cols = (unsigned int)colsField; { long const cy = GetLong(ifP); |