Don't SEGV in the signal handler in a unit test.
Change-Id: Id441b096a145c630915c71e06338f33b447b008d
diff --git a/src/runtime_linux.cc b/src/runtime_linux.cc
index df66162..d68e4bd 100644
--- a/src/runtime_linux.cc
+++ b/src/runtime_linux.cc
@@ -233,7 +233,10 @@
signal_number == SIGFPE || signal_number == SIGSEGV);
OS os_info;
-
+ const char* cmd_line = GetCmdLine();
+ if (cmd_line == NULL) {
+ cmd_line = "<unset>"; // Because we're in a unit test, say.
+ }
UContext thread_context(raw_context);
Backtrace thread_backtrace;
@@ -244,7 +247,7 @@
GetSignalCodeName(signal_number, info->si_code))
<< (has_address ? StringPrintf(" fault addr %p", info->si_addr) : "") << "\n"
<< "OS: " << Dumpable<OS>(os_info) << "\n"
- << "Cmdline: " << GetCmdLine() << "\n"
+ << "Cmdline: " << cmd_line << "\n"
<< "Registers:\n" << Dumpable<UContext>(thread_context) << "\n"
<< "Backtrace:\n" << Dumpable<Backtrace>(thread_backtrace);