about summary refs log tree commit diff
path: root/converter/pbm
diff options
context:
space:
mode:
authorgiraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8>2023-09-15 04:23:21 +0000
committergiraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8>2023-09-15 04:23:21 +0000
commit38d236794b78dbda5e93b1c54116528f3af9debc (patch)
treedf005eb27f7990ce362876e0d8ea8f6812941b67 /converter/pbm
parent1c4fae487d808c17f576731806cc2b7f6419f98a (diff)
downloadnetpbm-mirror-38d236794b78dbda5e93b1c54116528f3af9debc.tar.gz
netpbm-mirror-38d236794b78dbda5e93b1c54116528f3af9debc.tar.xz
netpbm-mirror-38d236794b78dbda5e93b1c54116528f3af9debc.zip
Fix arithmetic overflow
git-svn-id: http://svn.code.sf.net/p/netpbm/code/trunk@4654 9d0c8265-081b-0410-96cb-a4ca84ce46f8
Diffstat (limited to 'converter/pbm')
-rw-r--r--converter/pbm/pbmtoxbm.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/converter/pbm/pbmtoxbm.c b/converter/pbm/pbmtoxbm.c
index 5074c0fb..4bd33dd8 100644
--- a/converter/pbm/pbmtoxbm.c
+++ b/converter/pbm/pbmtoxbm.c
@@ -366,6 +366,10 @@ convertRaster(FILE *          const ifP,
     unsigned char * bitrow;
     unsigned int row;
 
+    if (cols > UINT_MAX - bitsPerUnit)
+        pm_error("Image is too wide (%u columns) for computations",
+                 cols);
+
     putinit(xbmVersion);
 
     bitrow = pbm_allocrow_packed(cols + padright);