diff options
author | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2023-09-20 02:12:59 +0000 |
---|---|---|
committer | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2023-09-20 02:12:59 +0000 |
commit | 731c59b6e76abe8c872993ecb845f8c23599188a (patch) | |
tree | 3acb5c9b55c81cca9b3bb29baad5e93a3b4ab56b /converter/pbm/ybmtopbm.c | |
parent | 32b7a323a63837c399e402f60657ec88431dc301 (diff) | |
download | netpbm-mirror-731c59b6e76abe8c872993ecb845f8c23599188a.tar.gz netpbm-mirror-731c59b6e76abe8c872993ecb845f8c23599188a.tar.xz netpbm-mirror-731c59b6e76abe8c872993ecb845f8c23599188a.zip |
Fix arithmetic overlow
git-svn-id: http://svn.code.sf.net/p/netpbm/code/trunk@4670 9d0c8265-081b-0410-96cb-a4ca84ce46f8
Diffstat (limited to 'converter/pbm/ybmtopbm.c')
-rw-r--r-- | converter/pbm/ybmtopbm.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/converter/pbm/ybmtopbm.c b/converter/pbm/ybmtopbm.c index 36f2dee7..78eb79f2 100644 --- a/converter/pbm/ybmtopbm.c +++ b/converter/pbm/ybmtopbm.c @@ -10,6 +10,8 @@ ** implied warranty. */ +#include <limits.h> + #include "pm.h" #include "pbm.h" #include "bitreverse.h" @@ -80,6 +82,9 @@ main(int argc, const char * argv[]) { getinit(ifP, &cols, &rows, &depth); if (depth != 1) pm_error("YBM file has depth of %u, must be 1", (unsigned int) depth); + if (cols > INT_MAX - 15) + pm_error("YBM file has uncomputably large width %d", cols); + pbm_writepbminit(stdout, cols, rows, 0); |