BLI_make_file_string wasn't guaranteed to initialize the resulting path, some parts...
[blender.git] / source / blender / blenlib / intern / path_util.c
index d9176c5f16278fc18bafd9a515027c68cc01615c..d28c1e298204fe8489fdcc3c4d12c6e803134119 100644 (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 */