Merge pull request #193 from Dmitry-Me/shouldCheckFtellForError

Check ftell() result for error code before using it.
This commit is contained in:
Lee Thomason 2014-08-14 16:46:13 -07:00
commit 73c822c201
1 changed files with 6 additions and 1 deletions

View File

@ -1695,9 +1695,14 @@ XMLError XMLDocument::LoadFile( FILE* fp )
} }
fseek( fp, 0, SEEK_END ); fseek( fp, 0, SEEK_END );
size_t size = ftell( fp ); const long filelength = ftell( fp );
fseek( fp, 0, SEEK_SET ); fseek( fp, 0, SEEK_SET );
if ( filelength == -1L ) {
SetError( XML_ERROR_FILE_READ_ERROR, 0, 0 );
return _errorID;
}
const size_t size = filelength;
if ( size == 0 ) { if ( size == 0 ) {
SetError( XML_ERROR_EMPTY_DOCUMENT, 0, 0 ); SetError( XML_ERROR_EMPTY_DOCUMENT, 0, 0 );
return _errorID; return _errorID;