log process_info on SEGV
[exim.git] / src / src / exim.c
index 8fff9f6a39f7311bb2de820a6ad55180d232e82d..b9b1c9a7dd540272d1c43d9fc39fe43a317b21dd 100644 (file)
@@ -279,6 +279,8 @@ if (US info->si_addr < US 4096)
   log_write(0, LOG_MAIN|LOG_PANIC, "SIGSEGV (null pointer indirection)");
 else
   log_write(0, LOG_MAIN|LOG_PANIC, "SIGSEGV (maybe attempt to write to immutable memory)");
+if (process_info_len > 0)
+  log_write(0, LOG_MAIN|LOG_PANIC, "SIGSEGV (%.*s)", process_info_len, process_info);
 signal(SIGSEGV, SIG_DFL);
 kill(getpid(), sig);
 }
@@ -287,6 +289,8 @@ kill(getpid(), sig);
 segv_handler(int sig)
 {
 log_write(0, LOG_MAIN|LOG_PANIC, "SIGSEGV (maybe attempt to write to immutable memory)");
+if (process_info_len > 0)
+  log_write(0, LOG_MAIN|LOG_PANIC, "SIGSEGV (%.*s)", process_info_len, process_info);
 signal(SIGSEGV, SIG_DFL);
 kill(getpid(), sig);
 }