Shell: Keep the stdio and rpath pledges for execute_process()

If the command fails, we'd like to still be capable of printing out
diagnostics, so restore stdio and rpath.
Fixes #13281.
This commit is contained in:
Ali Mohammad Pur 2022-03-27 21:59:18 +04:30 committed by Andreas Kling
parent 46ad69cd1e
commit 5e541aaebd
Notes: sideshowbarker 2024-07-17 16:39:16 +09:00

View file

@ -846,7 +846,7 @@ void Shell::execute_process(Vector<const char*>&& argv)
{ {
#ifdef __serenity__ #ifdef __serenity__
for (auto& promise : m_active_promises) { for (auto& promise : m_active_promises) {
pledge("exec", promise.data.exec_promises.characters()); pledge("stdio rpath exec", promise.data.exec_promises.characters());
for (auto& item : promise.data.unveils) for (auto& item : promise.data.unveils)
unveil(item.path.characters(), item.access.characters()); unveil(item.path.characters(), item.access.characters());
} }