--- poppler-git-3sep12/poppler/JPXStream.cc- 2012-09-03 00:25:43.626181959 +0200 +++ poppler-git-3sep12/poppler/JPXStream.cc 2012-09-04 01:18:11.339857034 +0200 @@ -257,6 +257,10 @@ bitBufLen = 0; bitBufSkip = gFalse; byteCount = 0; + + curX = curY = 0; + curComp = 0; + readBufLen = 0; } JPXStream::~JPXStream() { @@ -535,7 +539,10 @@ } else { cover(4); for (i = 0; i < dataLen; ++i) { - bufStr->getChar(); + if (unlikely(bufStr->getChar() == EOF)) { + error(errSyntaxError, getPos(), "Unexpected EOF in getImageParams in JPX stream"); + break; + } } } } @@ -592,6 +599,13 @@ haveImgHdr = gFalse; + // initialize in case there is a parse error + img.xSize = img.ySize = 0; + img.xOffset = img.yOffset = 0; + img.xTileSize = img.yTileSize = 0; + img.xTileOffset = img.yTileOffset = 0; + img.nComps = 0; + // check for a naked JPEG 2000 codestream (without the JP2/JPX // wrapper) -- this appears to be a violation of the PDF spec, but // Acrobat allows it