diff options
Diffstat (limited to 'editor')
-rw-r--r-- | editor/pamcut.c | 4 | ||||
-rw-r--r-- | editor/pamrubber.c | 8 | ||||
-rw-r--r-- | editor/pbmpscale.c | 6 | ||||
-rw-r--r-- | editor/pnmcat.c | 3 | ||||
-rw-r--r-- | editor/pnmpad.c | 2 |
5 files changed, 12 insertions, 11 deletions
diff --git a/editor/pamcut.c b/editor/pamcut.c index db5b5b3d..1c7cb4a7 100644 --- a/editor/pamcut.c +++ b/editor/pamcut.c @@ -686,7 +686,7 @@ extractRowsPBM(const struct pam * const inpamP, if (leftcol > 0) { totalWidth = MAX(rightcol+1, inpamP->width) + 7; - if (totalWidth > INT_MAX) + if (totalWidth > INT_MAX - 10) /* Prevent overflows in pbm_allocrow_packed() */ pm_error("Specified right edge is too far " "from the right end of input image"); @@ -695,7 +695,7 @@ extractRowsPBM(const struct pam * const inpamP, writeOffset = leftcol; } else { totalWidth = -leftcol + MAX(rightcol+1, inpamP->width); - if (totalWidth > INT_MAX) + if (totalWidth > INT_MAX - 10) pm_error("Specified left/right edge is too far " "from the left/right end of input image"); diff --git a/editor/pamrubber.c b/editor/pamrubber.c index a5748104..7169dbcf 100644 --- a/editor/pamrubber.c +++ b/editor/pamrubber.c @@ -1007,10 +1007,10 @@ prepQuad(void) { } else if ((oldCP[0].x > oldCP[1].x) && (oldCP[0].y < oldCP[1].y)) { /* top-right and bottom-left */ quad1 = quadRect(oldCP[1].x, oldCP[0].x, oldCP[0].y, oldCP[1].y); - } else if ((oldCP[0].x < oldCP[1].x) && (oldCP[0].y < oldCP[1].y)) { + } else if ((oldCP[0].x < oldCP[1].x) && (oldCP[0].y > oldCP[1].y)) { /* bottom-left and top-right */ quad1 = quadRect(oldCP[0].x, oldCP[1].x, oldCP[1].y, oldCP[0].y); - } else if ((oldCP[0].x > oldCP[1].x) && (oldCP[0].y < oldCP[1].y)) { + } else if ((oldCP[0].x > oldCP[1].x) && (oldCP[0].y > oldCP[1].y)) { /* bottom-right and top-left */ quad1 = quadRect(oldCP[1].x, oldCP[0].x, oldCP[1].y, oldCP[0].y); } @@ -1021,10 +1021,10 @@ prepQuad(void) { } else if ((newCP[0].x > newCP[1].x) && (newCP[0].y < newCP[1].y)) { /* top-right and bottom-left */ quad2 = quadRect(newCP[1].x, newCP[0].x, newCP[0].y, newCP[1].y); - } else if ((newCP[0].x < newCP[1].x) && (newCP[0].y < newCP[1].y)) { + } else if ((newCP[0].x < newCP[1].x) && (newCP[0].y > newCP[1].y)) { /* bottom-left and top-right */ quad2 = quadRect(newCP[0].x, newCP[1].x, newCP[1].y, newCP[0].y); - } else if ((newCP[0].x > newCP[1].x) && (newCP[0].y < newCP[1].y)) { + } else if ((newCP[0].x > newCP[1].x) && (newCP[0].y > newCP[1].y)) { /* bottom-right and top-left */ quad2 = quadRect(newCP[1].x, newCP[0].x, newCP[1].y, newCP[0].y); } diff --git a/editor/pbmpscale.c b/editor/pbmpscale.c index 9ab89350..3b6935b2 100644 --- a/editor/pbmpscale.c +++ b/editor/pbmpscale.c @@ -141,7 +141,7 @@ validateComputableDimensions(unsigned int const width, See validateComputetableSize() in libpam.c and pbm_readpbminitrest() in libpbm2.c -----------------------------------------------------------------------------*/ - unsigned int const maxWidthHeight = INT_MAX - 2; + unsigned int const maxWidthHeight = INT_MAX - 10; unsigned int const maxScaleFactor = maxWidthHeight / MAX(height, width); if (scaleFactor > maxScaleFactor) @@ -154,8 +154,8 @@ validateComputableDimensions(unsigned int const width, static void writeBitSpan(unsigned char * const packedBitrow, - int const cols, - int const offset, + unsigned int const cols, + unsigned int const offset, int const color) { /*---------------------------------------------------------------------------- Write white (color="0") or black (="1") bits into packedBitrow[], diff --git a/editor/pnmcat.c b/editor/pnmcat.c index a26dcf3e..217f6b57 100644 --- a/editor/pnmcat.c +++ b/editor/pnmcat.c @@ -367,7 +367,8 @@ getPbmImageInfo(struct imgInfo const img[], switch (backcolor) { case BACK_AUTO: { bit bgBit; - img2[i].proberow = pbm_allocrow_packed(img[i].cols+7); + img2[i].proberow = + pbm_allocrow_packed((unsigned int)img[i].cols + 7); pbm_readpbmrow_bitoffset( img[i].ifP, img2[i].proberow, img[i].cols, img[i].format, img2[i].offset % 8); diff --git a/editor/pnmpad.c b/editor/pnmpad.c index 9c7a77e5..7cc53b69 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 */ |