]> git.ipfire.org Git - ipfire-2.x.git/blob - src/patches/bash/bash43-023
readline: update to 8.0 (patchlevel 1)
[ipfire-2.x.git] / src / patches / bash / bash43-023
1 BASH PATCH REPORT
2 =================
3
4 Bash-Release: 4.3
5 Patch-ID: bash43-023
6
7 Bug-Reported-by: Tim Friske <me@timfriske.com>
8 Bug-Reference-ID: <CAM1RzOcOR9zzC2i+aeES6LtbHNHoOV+0pZEYPrqxv_QAii-RXA@mail.gmail.com>
9 Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-06/msg00056.html
10
11 Bug-Description:
12
13 Bash does not correctly parse process substitution constructs that contain
14 unbalanced parentheses as part of the contained command.
15
16 Patch (apply with `patch -p0'):
17
18 *** ../bash-4.3-patched/subst.h 2014-01-11 21:02:27.000000000 -0500
19 --- subst.h 2014-07-20 17:25:01.000000000 -0400
20 ***************
21 *** 83,87 ****
22 Start extracting at (SINDEX) as if we had just seen "<(".
23 Make (SINDEX) get the position just after the matching ")". */
24 ! extern char *extract_process_subst __P((char *, char *, int *));
25 #endif /* PROCESS_SUBSTITUTION */
26
27 --- 83,87 ----
28 Start extracting at (SINDEX) as if we had just seen "<(".
29 Make (SINDEX) get the position just after the matching ")". */
30 ! extern char *extract_process_subst __P((char *, char *, int *, int));
31 #endif /* PROCESS_SUBSTITUTION */
32
33 *** ../bash-4.3-patched/subst.c 2014-05-15 08:26:45.000000000 -0400
34 --- subst.c 2014-07-20 17:26:44.000000000 -0400
35 ***************
36 *** 1193,1202 ****
37 Make (SINDEX) get the position of the matching ")". */ /*))*/
38 char *
39 ! extract_process_subst (string, starter, sindex)
40 char *string;
41 char *starter;
42 int *sindex;
43 {
44 return (extract_delimited_string (string, sindex, starter, "(", ")", SX_COMMAND));
45 }
46 #endif /* PROCESS_SUBSTITUTION */
47 --- 1193,1208 ----
48 Make (SINDEX) get the position of the matching ")". */ /*))*/
49 char *
50 ! extract_process_subst (string, starter, sindex, xflags)
51 char *string;
52 char *starter;
53 int *sindex;
54 + int xflags;
55 {
56 + #if 0
57 return (extract_delimited_string (string, sindex, starter, "(", ")", SX_COMMAND));
58 + #else
59 + xflags |= (no_longjmp_on_fatal_error ? SX_NOLONGJMP : 0);
60 + return (xparse_dolparen (string, string+*sindex, sindex, xflags));
61 + #endif
62 }
63 #endif /* PROCESS_SUBSTITUTION */
64 ***************
65 *** 1786,1790 ****
66 if (string[si] == '\0')
67 CQ_RETURN(si);
68 ! temp = extract_process_subst (string, (c == '<') ? "<(" : ">(", &si);
69 free (temp); /* no SX_ALLOC here */
70 i = si;
71 --- 1792,1796 ----
72 if (string[si] == '\0')
73 CQ_RETURN(si);
74 ! temp = extract_process_subst (string, (c == '<') ? "<(" : ">(", &si, 0);
75 free (temp); /* no SX_ALLOC here */
76 i = si;
77 ***************
78 *** 8250,8254 ****
79 t_index = sindex + 1; /* skip past both '<' and LPAREN */
80
81 ! temp1 = extract_process_subst (string, (c == '<') ? "<(" : ">(", &t_index); /*))*/
82 sindex = t_index;
83
84 --- 8256,8260 ----
85 t_index = sindex + 1; /* skip past both '<' and LPAREN */
86
87 ! temp1 = extract_process_subst (string, (c == '<') ? "<(" : ">(", &t_index, 0); /*))*/
88 sindex = t_index;
89
90 *** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
91 --- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
92 ***************
93 *** 26,30 ****
94 looks for to find the patch level (for the sccs version string). */
95
96 ! #define PATCHLEVEL 22
97
98 #endif /* _PATCHLEVEL_H_ */
99 --- 26,30 ----
100 looks for to find the patch level (for the sccs version string). */
101
102 ! #define PATCHLEVEL 23
103
104 #endif /* _PATCHLEVEL_H_ */