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