Просмотр исходного кода

Merge pull request #327 from Dmitry-Me/ensureFileSizeFitsInSizeT

Ensure file contents fit into size_t range
Lee Thomason 10 лет назад
Родитель
Сommit
89df56c046
1 измененных файлов с 6 добавлено и 0 удалено
  1. 6 0
      tinyxml2.cpp

+ 6 - 0
tinyxml2.cpp

@@ -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 );