BASH PATCH REPORT ================= Bash-Release: 4.0 Patch-ID: bash40-038 Bug-Reported-by: werner@suse.de Bug-Reference-ID: <201002251238.o1PCcYcg016893@boole.suse.de> Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2010-02/msg00132.html Bug-Description: When the `read' builtin times out after the timeout specified with -t is exceeded, it does not reset the flags that tell signal handlers to process signals immediately instead of deferring their handling. This can result in unsafe functions being called from signal handlers, which can cause bash to hang or dump core. Patch (apply with `patch -p0'): *** ../bash-4.0-patched/builtins/read.def 2009-09-03 14:40:03.000000000 -0400 --- builtins/read.def 2010-03-17 17:35:39.000000000 -0400 *************** *** 602,607 **** zsyncfd (fd); - interrupt_immediately--; - terminate_immediately--; discard_unwind_frame ("read_builtin"); --- 616,619 ---- *************** *** 610,613 **** --- 622,628 ---- assign_vars: + interrupt_immediately--; + terminate_immediately--; + #if defined (ARRAY_VARS) /* If -a was given, take the string read, break it into a list of words, *** ../bash-4.0/patchlevel.h 2009-01-04 14:32:40.000000000 -0500 --- patchlevel.h 2009-02-22 16:11:31.000000000 -0500 *************** *** 26,30 **** looks for to find the patch level (for the sccs version string). */ ! #define PATCHLEVEL 37 #endif /* _PATCHLEVEL_H_ */ --- 26,30 ---- looks for to find the patch level (for the sccs version string). */ ! #define PATCHLEVEL 38 #endif /* _PATCHLEVEL_H_ */