diff --git a/OpenEXR/IlmImf/ImfScanLineInputFile.cpp b/OpenEXR/IlmImf/ImfScanLineInputFile.cpp index 35b5ed4d0..d07005d39 100644 --- a/OpenEXR/IlmImf/ImfScanLineInputFile.cpp +++ b/OpenEXR/IlmImf/ImfScanLineInputFile.cpp @@ -375,6 +375,8 @@ readPixelData (InputStreamMutex *streamData, // int lineBufferNumber = (minY - ifd->minY) / ifd->linesInBuffer; + if (lineBufferNumber < 0 || lineBufferNumber >= int(ifd->lineOffsets.size())) + THROW (IEX_NAMESPACE::InputExc, "Invalid scan line " << minY << " requested or missing."); Int64 lineOffset = ifd->lineOffsets[lineBufferNumber];