Browse Source

Fix DirAccessWindows::make_dir() choking on ".."

`CreateDirectoryW()` chokes on absolute paths that contain `..`
example: "C:\\workspace\\..\\games\\assets"
Simplifying the path before creating the dir fixes this.

(cherry picked from commit 0d3d5ac76983de35b8c1dddd65a4c2f8be74d555)
nikitalita 2 years ago
parent
commit
e1a39d66b0
1 changed files with 1 additions and 1 deletions
  1. 1 1
      drivers/windows/dir_access_windows.cpp

+ 1 - 1
drivers/windows/dir_access_windows.cpp

@@ -154,7 +154,7 @@ Error DirAccessWindows::make_dir(String p_dir) {
 	if (p_dir.is_rel_path())
 		p_dir = current_dir.plus_file(p_dir);
 
-	p_dir = p_dir.replace("/", "\\");
+	p_dir = p_dir.simplify_path().replace("/", "\\");
 
 	bool success;
 	int err;