From ba4b328b3da8ad6d46aa1e78e5facf35b65b13e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Marjam=C3=A4ki?= Date: Fri, 10 Jan 2014 21:37:27 +0100 Subject: [PATCH] Fixed issue 147 (XMLDocument::LoadFile() may crash on non-regular file) --- tinyxml2.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tinyxml2.cpp b/tinyxml2.cpp index 7e4ff40..4574fb3 100755 --- a/tinyxml2.cpp +++ b/tinyxml2.cpp @@ -1639,6 +1639,13 @@ XMLError XMLDocument::LoadFile( FILE* fp ) { Clear(); + fseek( fp, 0, SEEK_SET ); + fgetc( fp ); + if ( ferror( fp ) != 0 ) { + SetError( XML_ERROR_FILE_READ_ERROR, 0, 0 ); + return _errorID; + } + fseek( fp, 0, SEEK_END ); size_t size = ftell( fp ); fseek( fp, 0, SEEK_SET );