bbox.ymax=max(bbox.ymax,y);
return bbox;
}
+
+GBool invalid_size(int width, int height)
+{
+ if((U64)width*(U64)height > 0x7fffffffll)
+ return 1;
+ return 0;
+}
+
void BitmapOutputDev::drawImageMask(GfxState *state, Object *ref, Stream *str,
int width, int height, GBool invert,
GBool inlineImg)
{
msg("<debug> drawImageMask streamkind=%d", str->getKind());
+ if(invalid_size(width,height)) return;
CopyStream*cpystr = new CopyStream(str, height * ((width + 7) / 8));
str = cpystr->getStream();
int *maskColors, GBool inlineImg)
{
msg("<debug> drawImage streamkind=%d", str->getKind());
+ if(invalid_size(width,height)) return;
CopyStream*cpystr = new CopyStream(str, height * ((width * colorMap->getNumPixelComps() * colorMap->getBits() + 7) / 8));
str = cpystr->getStream();
GBool maskInvert)
{
msg("<debug> drawMaskedImage streamkind=%d", str->getKind());
+ if(invalid_size(width,height)) return;
CopyStream*cpystr = new CopyStream(str, height * ((width * colorMap->getNumPixelComps() * colorMap->getBits() + 7) / 8));
str = cpystr->getStream();
GfxImageColorMap *maskColorMap)
{
msg("<debug> drawSoftMaskedImage %dx%d (%dx%d) streamkind=%d", width, height, maskWidth, maskHeight, str->getKind());
+ if(invalid_size(width,height)) return;
CopyStream*cpystr = new CopyStream(str, height * ((width * colorMap->getNumPixelComps() * colorMap->getBits() + 7) / 8));
str = cpystr->getStream();