Merge pull request #656 from Gumichan01/master
fix "dereference before null check" defect
This commit is contained in:
17
tinyxml2.cpp
17
tinyxml2.cpp
@@ -2151,10 +2151,16 @@ void XMLDocument::DeleteNode( XMLNode* node ) {
|
||||
|
||||
XMLError XMLDocument::LoadFile( const char* filename )
|
||||
{
|
||||
if ( !filename ) {
|
||||
TIXMLASSERT( false );
|
||||
SetError( XML_ERROR_FILE_COULD_NOT_BE_OPENED, 0, "filename=<null>" );
|
||||
return _errorID;
|
||||
}
|
||||
|
||||
Clear();
|
||||
FILE* fp = callfopen( filename, "rb" );
|
||||
if ( !fp ) {
|
||||
SetError( XML_ERROR_FILE_NOT_FOUND, 0, "filename=%s", filename ? filename : "<null>");
|
||||
SetError( XML_ERROR_FILE_NOT_FOUND, 0, "filename=%s", filename );
|
||||
return _errorID;
|
||||
}
|
||||
LoadFile( fp );
|
||||
@@ -2233,9 +2239,15 @@ XMLError XMLDocument::LoadFile( FILE* fp )
|
||||
|
||||
XMLError XMLDocument::SaveFile( const char* filename, bool compact )
|
||||
{
|
||||
if ( !filename ) {
|
||||
TIXMLASSERT( false );
|
||||
SetError( XML_ERROR_FILE_COULD_NOT_BE_OPENED, 0, "filename=<null>" );
|
||||
return _errorID;
|
||||
}
|
||||
|
||||
FILE* fp = callfopen( filename, "w" );
|
||||
if ( !fp ) {
|
||||
SetError( XML_ERROR_FILE_COULD_NOT_BE_OPENED, 0, "filename=%s", filename ? filename : "<null>");
|
||||
SetError( XML_ERROR_FILE_COULD_NOT_BE_OPENED, 0, "filename=%s", filename );
|
||||
return _errorID;
|
||||
}
|
||||
SaveFile(fp, compact);
|
||||
@@ -2791,4 +2803,3 @@ bool XMLPrinter::Visit( const XMLUnknown& unknown )
|
||||
}
|
||||
|
||||
} // namespace tinyxml2
|
||||
|
||||
|
||||
Reference in New Issue
Block a user