Forráskód Böngészése

LibWebView: Unbreak spawning WebContent process with valgrind

We now check if the WebContent is executable before passing it to
the valgrind wrapper. We can't rely on exec() to fail here, since it
will always succeed even when passing a bad WebContent path to valgrind.
Andreas Kling 2 éve
szülő
commit
df1748e1d1

+ 4 - 0
Userland/Libraries/LibWebView/ViewImplementation.cpp

@@ -200,6 +200,10 @@ ErrorOr<NonnullRefPtr<WebView::WebContentClient>> ViewImplementation::launch_web
         ErrorOr<void> result;
         ErrorOr<void> result;
         for (auto const& path : candidate_web_content_paths) {
         for (auto const& path : candidate_web_content_paths) {
             constexpr auto callgrind_prefix_length = 3;
             constexpr auto callgrind_prefix_length = 3;
+
+            if (Core::System::access(path, X_OK).is_error())
+                continue;
+
             auto arguments = Vector {
             auto arguments = Vector {
                 "valgrind"sv,
                 "valgrind"sv,
                 "--tool=callgrind"sv,
                 "--tool=callgrind"sv,