diff options
author | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2021-11-07 01:33:26 +0000 |
---|---|---|
committer | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2021-11-07 01:33:26 +0000 |
commit | 42efa67c47521596088768d82f5665b15d03d6bf (patch) | |
tree | 358e75c107ff9ef1a45e3f4a15085d1f3f7a7a42 /editor/pnmpad.c | |
parent | 109fb3ec30eaca9ce3427d58a2b8fb1c038a7c4f (diff) | |
download | netpbm-mirror-42efa67c47521596088768d82f5665b15d03d6bf.tar.gz netpbm-mirror-42efa67c47521596088768d82f5665b15d03d6bf.tar.xz netpbm-mirror-42efa67c47521596088768d82f5665b15d03d6bf.zip |
fix arithmetic overflows
git-svn-id: http://svn.code.sf.net/p/netpbm/code/trunk@4177 9d0c8265-081b-0410-96cb-a4ca84ce46f8
Diffstat (limited to 'editor/pnmpad.c')
-rw-r--r-- | editor/pnmpad.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/editor/pnmpad.c b/editor/pnmpad.c index 55cdcd6c..1e704724 100644 --- a/editor/pnmpad.c +++ b/editor/pnmpad.c @@ -11,7 +11,7 @@ #include "shhopt.h" #include "pnm.h" -#define MAX_WIDTHHEIGHT INT_MAX-10 +#define MAX_WIDTHHEIGHT ((INT_MAX)-10) /* The maximum width or height value we can handle without risking arithmetic overflow */ @@ -268,7 +268,7 @@ validateHorizontalSize(struct cmdlineInfo const cmdline, pm_error("The right padding value you specified is too large."); if ((double) cols + - (double) lpad + + (double) lpad + (double) rpad + (double) mwidthMaxPad > MAX_WIDTHHEIGHT) pm_error("Given padding parameters make output width too large " @@ -378,7 +378,7 @@ computePadSizesOneDim(unsigned int const unpaddedSize, unsigned int const totalPadBeforeMult = begPadBeforeMult + endPadBeforeMult; double const begFrac = - totalPadBeforeMult > 0 ? + totalPadBeforeMult > 0 ? (double)begPadBeforeMult / totalPadBeforeMult : 0.0; unsigned int const addlMsizeBegPad = ROUNDU(morePadNeeded * begFrac); @@ -501,7 +501,7 @@ reportPadSizes(int const inCols, unsigned int const outCols = inCols + lpad + rpad; unsigned int const outRows = inRows + tpad + bpad; - + printf("%u %u %u %u %u %u\n", lpad, rpad, tpad, bpad, outCols, outRows); } @@ -547,7 +547,7 @@ padPbm(FILE * const ifP, /* Write top margin */ for (row = 0; row < tpad; ++row) pbm_writepbmrow_packed(stdout, bgrow, newcols, 0); - + /* Read rows, shift and write with left and right margins added */ for (row = 0; row < rows; ++row) { pbm_readpbmrow_bitoffset(ifP, newrow, cols, format, lpad); |