author | Stefan Teleman <stefan.teleman@oracle.com> |
Tue, 17 Mar 2015 19:06:56 -0700 | |
changeset 3966 | cca72467a46d |
parent 1082 | 6d49548fa9da |
permissions | -rw-r--r-- |
1082
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1 |
BASH PATCH REPORT |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
2 |
================= |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
3 |
|
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
4 |
Bash-Release: 4.2 |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
5 |
Patch-ID: bash42-036 |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
6 |
|
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
7 |
Bug-Reported-by: gregrwm <[email protected]> |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
8 |
Bug-Reference-ID: <CAD+dB9B4JG+qUwZBQUwiQmVt0j6NDn=DDTxr9R+nkA8DL4KLJA@mail.gmail.com> |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
9 |
Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-05/msg00108.html |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
10 |
|
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
11 |
Bug-Description: |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
12 |
|
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
13 |
Bash-4.2 produces incorrect word splitting results when expanding |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
14 |
double-quoted $@ in the same string as and adjacent to other variable |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
15 |
expansions. The $@ should be split, the other expansions should not. |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
16 |
|
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
17 |
Patch (apply with `patch -p0'): |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
18 |
|
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
19 |
*** ../bash-4.2-patched/subst.c 2012-05-02 12:02:33.000000000 -0400 |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
20 |
--- subst.c 2012-07-08 21:19:32.000000000 -0400 |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
21 |
*************** |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
22 |
*** 7923,7927 **** |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
23 |
/* State flags */ |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
24 |
int had_quoted_null; |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
25 |
! int has_dollar_at; |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
26 |
int tflag; |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
27 |
int pflags; /* flags passed to param_expand */ |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
28 |
--- 7923,7927 ---- |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
29 |
/* State flags */ |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
30 |
int had_quoted_null; |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
31 |
! int has_dollar_at, temp_has_dollar_at; |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
32 |
int tflag; |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
33 |
int pflags; /* flags passed to param_expand */ |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
34 |
*************** |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
35 |
*** 8128,8138 **** |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
36 |
*expanded_something = 1; |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
37 |
|
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
38 |
! has_dollar_at = 0; |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
39 |
pflags = (word->flags & W_NOCOMSUB) ? PF_NOCOMSUB : 0; |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
40 |
if (word->flags & W_NOSPLIT2) |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
41 |
pflags |= PF_NOSPLIT2; |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
42 |
tword = param_expand (string, &sindex, quoted, expanded_something, |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
43 |
! &has_dollar_at, "ed_dollar_at, |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
44 |
&had_quoted_null, pflags); |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
45 |
|
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
46 |
if (tword == &expand_wdesc_error || tword == &expand_wdesc_fatal) |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
47 |
--- 8128,8139 ---- |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
48 |
*expanded_something = 1; |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
49 |
|
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
50 |
! temp_has_dollar_at = 0; |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
51 |
pflags = (word->flags & W_NOCOMSUB) ? PF_NOCOMSUB : 0; |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
52 |
if (word->flags & W_NOSPLIT2) |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
53 |
pflags |= PF_NOSPLIT2; |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
54 |
tword = param_expand (string, &sindex, quoted, expanded_something, |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
55 |
! &temp_has_dollar_at, "ed_dollar_at, |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
56 |
&had_quoted_null, pflags); |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
57 |
+ has_dollar_at += temp_has_dollar_at; |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
58 |
|
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
59 |
if (tword == &expand_wdesc_error || tword == &expand_wdesc_fatal) |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
60 |
*************** |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
61 |
*** 8275,8281 **** |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
62 |
temp = (char *)NULL; |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
63 |
|
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
64 |
! has_dollar_at = 0; |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
65 |
/* Need to get W_HASQUOTEDNULL flag through this function. */ |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
66 |
! list = expand_word_internal (tword, Q_DOUBLE_QUOTES, 0, &has_dollar_at, (int *)NULL); |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
67 |
|
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
68 |
if (list == &expand_word_error || list == &expand_word_fatal) |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
69 |
--- 8276,8283 ---- |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
70 |
temp = (char *)NULL; |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
71 |
|
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
72 |
! temp_has_dollar_at = 0; /* XXX */ |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
73 |
/* Need to get W_HASQUOTEDNULL flag through this function. */ |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
74 |
! list = expand_word_internal (tword, Q_DOUBLE_QUOTES, 0, &temp_has_dollar_at, (int *)NULL); |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
75 |
! has_dollar_at += temp_has_dollar_at; |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
76 |
|
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
77 |
if (list == &expand_word_error || list == &expand_word_fatal) |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
78 |
*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
79 |
--- patchlevel.h Thu Feb 24 21:41:34 2011 |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
80 |
*************** |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
81 |
*** 26,30 **** |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
82 |
looks for to find the patch level (for the sccs version string). */ |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
83 |
|
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
84 |
! #define PATCHLEVEL 35 |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
85 |
|
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
86 |
#endif /* _PATCHLEVEL_H_ */ |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
87 |
--- 26,30 ---- |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
88 |
looks for to find the patch level (for the sccs version string). */ |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
89 |
|
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
90 |
! #define PATCHLEVEL 36 |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
91 |
|
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
92 |
#endif /* _PATCHLEVEL_H_ */ |