Hi, I've written a tiny patch that should fix this issue with su: https://bugzilla.redhat.com/show_bug.cgi?id=747592. None of the shells' output propagates back to the shell where su was called (except TCSH, which reports segfault to stdout; I've tested this with sh,ksh,zsh,bash). So, with this patch, su should print a warning if WIFSIGNALED(status) && WCOREDUMP(status) is true. Cheers, Ondrej
>From d4776f487e283649d65be3f3865141a0171a80e7 Mon Sep 17 00:00:00 2001 From: Ondrej Oprala <ooprala@xxxxxxxxxx> Date: Tue, 11 Sep 2012 16:39:17 +0200 Subject: [PATCH] su: add segmentation fault reporting of the child process Child processes that ended with segmentation fault previously indicated this with return status only. The report is now more verbose if core dump is allowed. --- login-utils/su-common.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/login-utils/su-common.c b/login-utils/su-common.c index 23ad57d..b0dbed2 100644 --- a/login-utils/su-common.c +++ b/login-utils/su-common.c @@ -300,7 +300,11 @@ create_watching_parent (void) } if (pid != (pid_t)-1) if (WIFSIGNALED (status)) - status = WTERMSIG (status) + 128; + { + status = WTERMSIG (status) + 128; + if (WCOREDUMP (status)) + fprintf (stderr, _("Segmentation fault (core dumped)\n")); + } else status = WEXITSTATUS (status); else -- 1.7.11.4