source: npl/system/bash/bash-4.3-patches/bash43-023 @ 551a8d2

Last change on this file since 551a8d2 was c5c522c, checked in by Edwin Eefting <edwin@datux.nl>, 8 years ago

initial commit, transferred from cleaned syn3 svn tree

  • Property mode set to 100644
File size: 3.3 KB
Line 
1                             BASH PATCH REPORT
2                             =================
3
4Bash-Release:   4.3
5Patch-ID:       bash43-023
6
7Bug-Reported-by:        Tim Friske <me@timfriske.com>
8Bug-Reference-ID:       <CAM1RzOcOR9zzC2i+aeES6LtbHNHoOV+0pZEYPrqxv_QAii-RXA@mail.gmail.com>
9Bug-Reference-URL:      http://lists.gnu.org/archive/html/bug-bash/2014-06/msg00056.html
10
11Bug-Description:
12
13Bash does not correctly parse process substitution constructs that contain
14unbalanced parentheses as part of the contained command.
15
16Patch (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_ */
Note: See TracBrowser for help on using the repository browser.