Browse Source

fix: ShowItemUsingFileManager should escape path in Linux (#40527)

Xie Jingyi 1 year ago
parent
commit
2c03b8fd6b
1 changed files with 4 additions and 2 deletions
  1. 4 2
      shell/common/platform_util_linux.cc

+ 4 - 2
shell/common/platform_util_linux.cc

@@ -21,6 +21,7 @@
 #include "base/posix/eintr_wrapper.h"
 #include "base/process/kill.h"
 #include "base/process/launch.h"
+#include "base/strings/escape.h"
 #include "base/strings/string_util.h"
 #include "base/threading/thread_restrictions.h"
 #include "components/dbus/thread_linux/dbus_thread_linux.h"
@@ -216,8 +217,9 @@ class ShowItemHelper {
     dbus::MessageWriter writer(&show_items_call);
 
     writer.AppendArrayOfStrings(
-        {"file://" + full_path.value()});  // List of file(s) to highlight.
-    writer.AppendString({});               // startup-id
+        {"file://" + base::EscapePath(
+                         full_path.value())});  // List of file(s) to highlight.
+    writer.AppendString({});                    // startup-id
 
     ShowItemUsingBusCall(&show_items_call, full_path);
   }