CrashDaemon: Fix CrashReporter argument order

For compressed coredumps, CrashReporter's argv were in this order:

    CrashReporter path --unlink

Core::ArgsParser doesn't like that at all and would immediately exit
from main(), causing the crash reporter to never display.
This commit is contained in:
Linus Groh 2021-05-18 23:40:57 +01:00
parent 7aaef8fd4b
commit 36e7733dec
Notes: sideshowbarker 2024-07-18 17:48:20 +09:00

View File

@ -84,7 +84,15 @@ static void print_backtrace(const String& coredump_path)
static void launch_crash_reporter(const String& coredump_path, bool unlink_after_use)
{
pid_t child;
const char* argv[] = { "CrashReporter", coredump_path.characters(), unlink_after_use ? "--unlink" : nullptr, nullptr, nullptr };
const char* argv[4] = { "CrashReporter" };
if (unlink_after_use) {
argv[1] = "--unlink";
argv[2] = coredump_path.characters();
argv[3] = nullptr;
} else {
argv[1] = coredump_path.characters();
argv[2] = nullptr;
}
if ((errno = posix_spawn(&child, "/bin/CrashReporter", nullptr, nullptr, const_cast<char**>(argv), environ))) {
perror("posix_spawn");
} else {