BLI_make_file_string wasn't guaranteed to initialize the resulting path, some parts of the code accounted for this but most not, always initialize the string to "".

This commit is contained in:
Campbell Barton
2011-10-23 05:56:55 +00:00
parent e58eb5db6f
commit 0664868aec
3 changed files with 12 additions and 6 deletions

View File

@@ -1257,9 +1257,18 @@ void BLI_make_file_string(const char *relabase, char *string, const char *dir,
{
int sl;
if (!string || !dir || !file) return; /* We don't want any NULLs */
string[0]= 0; /* ton */
if (string) {
/* ensure this is always set even if dir/file are NULL */
string[0]= '\0';
if (ELEM(NULL, dir, file)) {
return; /* We don't want any NULLs */
}
}
else {
return; /* string is NULL, probably shouldnt happen but return anyway */
}
/* we first push all slashes into unix mode, just to make sure we don't get
any mess with slashes later on. -jesterKing */

View File

@@ -2699,7 +2699,6 @@ int BLO_write_file(Main *mainvar, const char *filepath, int write_flags, ReportL
}
}
userfilename[0]= '\0'; /* ensure its initialized */
BLI_make_file_string(G.main->name, userfilename, BLI_get_folder_create(BLENDER_USER_CONFIG, NULL), BLENDER_STARTUP_FILE);
write_user_block= (BLI_path_cmp(filepath, userfilename) == 0);

View File

@@ -122,8 +122,6 @@ ImBuf* get_brush_icon(Brush *brush)
if (!(brush->icon_imbuf)) {
folder= BLI_get_folder(BLENDER_DATAFILES, "brushicons");
path[0]= 0;
BLI_make_file_string(G.main->name, path, folder, brush->icon_filepath);
if (path[0])