diff --git a/OpenEXR/IlmImf/ImfTiledInputFile.cpp b/OpenEXR/IlmImf/ImfTiledInputFile.cpp index 0bac84f364..e1159797cc 100644 --- a/OpenEXR/IlmImf/ImfTiledInputFile.cpp +++ b/OpenEXR/IlmImf/ImfTiledInputFile.cpp @@ -818,7 +818,10 @@ TiledInputFile::TiledInputFile (OPENEXR_IMF_INTERNAL_NAMESPACE::IStream &is, int { for (size_t i = 0; i < _data->tileBuffers.size(); i++) { - delete [] _data->tileBuffers[i]->buffer; + if( _data->tileBuffers[i]) + { + delete [] _data->tileBuffers[i]->buffer; + } } } if (streamDataCreated) delete _data->_streamData; @@ -860,11 +863,14 @@ TiledInputFile::TiledInputFile (const Header &header, { for (size_t i = 0; i < _data->tileBuffers.size(); i++) { - delete [] _data->tileBuffers[i]->buffer; + if(_data->tileBuffers[i]) + { + delete [] _data->tileBuffers[i]->buffer; + } } } delete _data->_streamData; - delete _data; + delete _data; throw; } }