diff --git a/CMakeLists.txt b/CMakeLists.txt index f0ae3dc..399c4c2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -53,6 +53,7 @@ if(BUILD_STATIC_LIBS) endif(BUILD_STATIC_LIBS) add_library(tinyxml2 SHARED tinyxml2.cpp tinyxml2.h) set_target_properties(tinyxml2 PROPERTIES + COMPILE_DEFINITIONS "TINYXML2_EXPORT" VERSION "${GENERIC_LIB_VERSION}" SOVERSION "${GENERIC_LIB_SOVERSION}") diff --git a/tinyxml2.cpp b/tinyxml2.cpp index 50022f4..5880557 100755 --- a/tinyxml2.cpp +++ b/tinyxml2.cpp @@ -1637,6 +1637,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 );