Ensure file contents fit into size_t range

This commit is contained in:
Dmitry-Me 2015-04-30 14:58:57 +03:00
parent 882e89e601
commit 2a8b1f5789
1 changed files with 6 additions and 0 deletions

View File

@ -1846,6 +1846,12 @@ XMLError XMLDocument::LoadFile( FILE* fp )
return _errorID;
}
if ( filelength >= (size_t)-1 ) {
// Cannot handle files which won't fit in buffer together with null terminator
SetError( XML_ERROR_FILE_READ_ERROR, 0, 0 );
return _errorID;
}
const size_t size = filelength;
if ( size == 0 ) {
SetError( XML_ERROR_EMPTY_DOCUMENT, 0, 0 );