Do not create the folder passed to app.setPath
authorCheng Zhao <zcbenz@gmail.com>
Thu, 21 Apr 2016 05:37:29 +0000 (14:37 +0900)
committerCheng Zhao <zcbenz@gmail.com>
Thu, 21 Apr 2016 05:37:29 +0000 (14:37 +0900)
atom/browser/api/atom_api_app.cc

index 9d0aa79..d239a63 100644 (file)
@@ -351,10 +351,15 @@ base::FilePath App::GetPath(mate::Arguments* args, const std::string& name) {
 void App::SetPath(mate::Arguments* args,
                   const std::string& name,
                   const base::FilePath& path) {
+  if (!path.IsAbsolute()) {
+    args->ThrowError("path must be absolute");
+    return;
+  }
+
   bool succeed = false;
   int key = GetPathConstant(name);
   if (key >= 0)
-    succeed = PathService::Override(key, path);
+    succeed = PathService::OverrideAndCreateIfNeeded(key, path, true, false);
   if (!succeed)
     args->ThrowError("Failed to set path");
 }