chiark / gitweb /
bash (4.1-3) unstable; urgency=low
[bash.git] / debian / patches / bash41-005.dpatch
1 #! /bin/sh -e
2
3 if [ $# -eq 3 -a "$2" = '-d' ]; then
4     pdir="-d $3"
5 elif [ $# -ne 1 ]; then
6     echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
7     exit 1
8 fi
9 case "$1" in
10     -patch) patch $pdir -f --no-backup-if-mismatch -p1 < $0;;
11     -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p1 < $0;;
12     *)
13         echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
14         exit 1
15 esac
16 exit 0
17
18 # DP: bash-4.1 upstream patch 005
19
20                              BASH PATCH REPORT
21                              =================
22
23 Bash-Release:   4.1
24 Patch-ID:       bash41-005
25
26 Bug-Reported-by:        werner@suse.de
27 Bug-Reference-ID:       <201002251238.o1PCcYcg016893@boole.suse.de>
28 Bug-Reference-URL:      http://lists.gnu.org/archive/html/bug-bash/2010-02/msg00132.html
29
30 Bug-Description:
31
32 When the `read' builtin times out after the timeout specified with -t is
33 exceeded, it does not reset the flags that tell signal handlers to process
34 signals immediately instead of deferring their handling.  This can result
35 in unsafe functions being called from signal handlers, which can cause bash
36 to hang or dump core.
37
38 Patch (apply with `patch -p0'):
39
40 *** ../bash-4.1-patched/builtins/read.def       2009-10-08 11:35:46.000000000 -0400
41 --- ./builtins/read.def 2010-03-17 17:35:39.000000000 -0400
42 ***************
43 *** 616,621 ****
44       zsyncfd (fd);
45   
46 -   interrupt_immediately--;
47 -   terminate_immediately--;
48     discard_unwind_frame ("read_builtin");
49   
50 --- 616,619 ----
51 ***************
52 *** 624,627 ****
53 --- 622,628 ----
54   assign_vars:
55   
56 +   interrupt_immediately--;
57 +   terminate_immediately--;
58
59   #if defined (ARRAY_VARS)
60     /* If -a was given, take the string read, break it into a list of words,
61 *** ../bash-4.1-patched/patchlevel.h    2009-10-01 16:39:22.000000000 -0400
62 --- ./patchlevel.h      2010-01-14 09:38:08.000000000 -0500
63 ***************
64 *** 26,30 ****
65      looks for to find the patch level (for the sccs version string). */
66   
67 ! #define PATCHLEVEL 4
68   
69   #endif /* _PATCHLEVEL_H_ */
70 --- 26,30 ----
71      looks for to find the patch level (for the sccs version string). */
72   
73 ! #define PATCHLEVEL 5
74   
75   #endif /* _PATCHLEVEL_H_ */