From: Cristy Date: Wed, 31 Jan 2018 00:47:21 +0000 (-0500) Subject: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=5836 X-Git-Tag: 7.0.7-23~204 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=efc5618a08a42db000f410d65493c854f5886ad6;p=imagemagick https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=5836 --- diff --git a/MagickCore/geometry.c b/MagickCore/geometry.c index 87e664273..f276861ee 100644 --- a/MagickCore/geometry.c +++ b/MagickCore/geometry.c @@ -240,7 +240,7 @@ MagickExport MagickStatusType GetGeometry(const char *geometry,ssize_t *x, if (LocaleNCompare(p,"0x",2) == 0) *width=(size_t) strtol(p,&p,10); else - *width=(size_t) floor(StringToDouble(p,&p)+0.5); + *width=((size_t) floor(StringToDouble(p,&p)+0.5)) & 0x7fffffff; } if (p != q) flags|=WidthValue; @@ -259,7 +259,7 @@ MagickExport MagickStatusType GetGeometry(const char *geometry,ssize_t *x, */ q=p; if (height != (size_t *) NULL) - *height=(size_t) floor(StringToDouble(p,&p)+0.5); + *height=((size_t) floor(StringToDouble(p,&p)+0.5)) & 0x7fffffff; if (p != q) flags|=HeightValue; } @@ -278,7 +278,7 @@ MagickExport MagickStatusType GetGeometry(const char *geometry,ssize_t *x, } q=p; if (x != (ssize_t *) NULL) - *x=(ssize_t) ceil(StringToDouble(p,&p)-0.5); + *x=((ssize_t) ceil(StringToDouble(p,&p)-0.5)) & 0x7fffffff; if (p != q) { flags|=XValue; @@ -299,7 +299,7 @@ MagickExport MagickStatusType GetGeometry(const char *geometry,ssize_t *x, } q=p; if (y != (ssize_t *) NULL) - *y=(ssize_t) ceil(StringToDouble(p,&p)-0.5); + *y=((ssize_t) ceil(StringToDouble(p,&p)-0.5)) & 0x7fffffff; if (p != q) { flags|=YValue;