change Preferences_Save_Safe code to not have small oob read
This commit is contained in:
parent
60652a335f
commit
6aa8e432f7
|
|
@ -176,15 +176,10 @@ bool Preferences_Save( PreferenceDictionary& preferences, const char* filename )
|
|||
}
|
||||
|
||||
bool Preferences_Save_Safe( PreferenceDictionary& preferences, const char* filename ){
|
||||
Array<char> tmpName( filename, filename + strlen( filename ) + 1 + 3 );
|
||||
*( tmpName.end() - 4 ) = 'T';
|
||||
*( tmpName.end() - 3 ) = 'M';
|
||||
*( tmpName.end() - 2 ) = 'P';
|
||||
*( tmpName.end() - 1 ) = '\0';
|
||||
|
||||
return Preferences_Save( preferences, tmpName.data() )
|
||||
const auto tmpName = StringOutputStream()( filename, "TMP" );
|
||||
return Preferences_Save( preferences, tmpName )
|
||||
&& ( !file_exists( filename ) || file_remove( filename ) )
|
||||
&& file_move( tmpName.data(), filename );
|
||||
&& file_move( tmpName, filename );
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user