From https://ftp.gnu.org/gnu/bash/bash-4.4-patches/bash44-005 Signed-off-by: Peter Korsgaard BASH PATCH REPORT ================= Bash-Release: 4.4 Patch-ID: bash44-005 Bug-Reported-by: Dr. Werner Fink Bug-Reference-ID: <20161107100936.ajnojd7dspirdflf@noether.suse.de> Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2016-11/msg00054.html Bug-Description: Under certain circumstances, a simple command is optimized to eliminate a fork, resulting in an EXIT trap not being executed. Patch (apply with `patch -p0'): *** a/bash-4.4/builtins/evalstring.c 2016-08-11 14:18:51.000000000 -0400 --- b/builtins/evalstring.c 2016-11-08 15:05:07.000000000 -0500 *************** *** 105,114 **** *bash_input.location.string == '\0' && command->type == cm_simple && - #if 0 signal_is_trapped (EXIT_TRAP) == 0 && signal_is_trapped (ERROR_TRAP) == 0 && - #else any_signals_trapped () < 0 && - #endif command->redirects == 0 && command->value.Simple->redirects == 0 && ((command->flags & CMD_TIME_PIPELINE) == 0) && --- 105,111 ---- *** a/bash-4.4/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 --- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400 *************** *** 26,30 **** looks for to find the patch level (for the sccs version string). */ ! #define PATCHLEVEL 4 #endif /* _PATCHLEVEL_H_ */ --- 26,30 ---- looks for to find the patch level (for the sccs version string). */ ! #define PATCHLEVEL 5 #endif /* _PATCHLEVEL_H_ */