Репозитории ALT
S: | 3.1.5-alt2.2 |
5.1: | 1.6.1-alt4 |
4.1: | 1.6.1-alt1 |
4.0: | 1.4.0-alt1.a |
3.0: | 1.2.2-alt1 |
Группа :: Система/Библиотеки
Пакет: openexr
Главная Изменения Спек Патчи Sources Загрузить Gear Bugs and FR Repocop
Патч: oss-fuzz.patch
Скачать
Скачать
--- a/IlmImf/ImfDeepScanLineInputFile.cpp
+++ b/IlmImf/ImfDeepScanLineInputFile.cpp
@@ -647,6 +647,11 @@ LineBufferTask::execute ()
_lineBuffer->format = Compressor::XDR;
_lineBuffer->uncompressedData = _lineBuffer->buffer;
+
+ if(_lineBuffer->packedDataSize!=maxBytesPerLine)
+ {
+ THROW (IEX_NAMESPACE::InputExc, "Incorrect size for uncompressed data. Expected " << maxBytesPerLine << " got " << _lineBuffer->packedDataSize << " bytes");
+ }
}
}
--- a/IlmImf/ImfDeepTiledInputFile.cpp
+++ b/IlmImf/ImfDeepTiledInputFile.cpp
@@ -929,7 +929,7 @@ DeepTiledInputFile::compatibilityInitial
void
DeepTiledInputFile::multiPartInitialize(InputPartData* part)
{
- if (isTiled(part->header.type()) == false)
+ if (part->header.type() != DEEPTILE)
THROW (IEX_NAMESPACE::ArgExc, "Can't build a DeepTiledInputFile from a part of type " << part->header.type());
_data->_streamData = part->mutex;
--- a/IlmImf/ImfRle.cpp
+++ b/IlmImf/ImfRle.cpp
@@ -146,6 +146,11 @@ rleUncompress (int inLength, int maxLeng
if (0 > (maxLength -= count + 1))
return 0;
+ // check the input buffer is big enough to contain
+ // byte to be duplicated
+ if (inLength < 0)
+ return 0;
+
memset(out, *(char*)in, count+1);
out += count+1;