author | Stefan Teleman <stefan.teleman@oracle.com> |
Tue, 17 Mar 2015 19:06:56 -0700 | |
changeset 3966 | cca72467a46d |
parent 2165 | d1946b7b1894 |
permissions | -rw-r--r-- |
2165
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1 |
BASH PATCH REPORT |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
2 |
================= |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
3 |
|
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
4 |
Bash-Release: 4.2 |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
5 |
Patch-ID: bash42-051 |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
6 |
|
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
7 |
Bug-Reported-by: Florian Weimer <[email protected]> |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
8 |
Bug-Reference-ID: |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
9 |
Bug-Reference-URL: |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
10 |
|
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
11 |
Bug-Description: |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
12 |
|
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
13 |
There are two local buffer overflows in parse.y that can cause the shell |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
14 |
to dump core when given many here-documents attached to a single command |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
15 |
or many nested loops. |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
16 |
|
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
17 |
Patch (apply with `patch -p0'): |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
18 |
|
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
19 |
*** ../bash-4.2.50/parse.y 2014-09-27 12:18:53.000000000 -0400 |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
20 |
--- parse.y 2014-09-30 19:24:19.000000000 -0400 |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
21 |
*************** |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
22 |
*** 168,171 **** |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
23 |
--- 168,174 ---- |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
24 |
static int reserved_word_acceptable __P((int)); |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
25 |
static int yylex __P((void)); |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
26 |
+ |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
27 |
+ static void push_heredoc __P((REDIRECT *)); |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
28 |
+ static char *mk_alexpansion __P((char *)); |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
29 |
static int alias_expand_token __P((char *)); |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
30 |
static int time_command_acceptable __P((void)); |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
31 |
*************** |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
32 |
*** 265,269 **** |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
33 |
/* Variables to manage the task of reading here documents, because we need to |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
34 |
defer the reading until after a complete command has been collected. */ |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
35 |
! static REDIRECT *redir_stack[10]; |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
36 |
int need_here_doc; |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
37 |
|
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
38 |
--- 268,274 ---- |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
39 |
/* Variables to manage the task of reading here documents, because we need to |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
40 |
defer the reading until after a complete command has been collected. */ |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
41 |
! #define HEREDOC_MAX 16 |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
42 |
! |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
43 |
! static REDIRECT *redir_stack[HEREDOC_MAX]; |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
44 |
int need_here_doc; |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
45 |
|
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
46 |
*************** |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
47 |
*** 307,311 **** |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
48 |
index is decremented after a case, select, or for command is parsed. */ |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
49 |
#define MAX_CASE_NEST 128 |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
50 |
! static int word_lineno[MAX_CASE_NEST]; |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
51 |
static int word_top = -1; |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
52 |
|
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
53 |
--- 312,316 ---- |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
54 |
index is decremented after a case, select, or for command is parsed. */ |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
55 |
#define MAX_CASE_NEST 128 |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
56 |
! static int word_lineno[MAX_CASE_NEST+1]; |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
57 |
static int word_top = -1; |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
58 |
|
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
59 |
*************** |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
60 |
*** 520,524 **** |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
61 |
redir.filename = $2; |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
62 |
$$ = make_redirection (source, r_reading_until, redir, 0); |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
63 |
! redir_stack[need_here_doc++] = $$; |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
64 |
} |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
65 |
| NUMBER LESS_LESS WORD |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
66 |
--- 525,529 ---- |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
67 |
redir.filename = $2; |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
68 |
$$ = make_redirection (source, r_reading_until, redir, 0); |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
69 |
! push_heredoc ($$); |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
70 |
} |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
71 |
| NUMBER LESS_LESS WORD |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
72 |
*************** |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
73 |
*** 527,531 **** |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
74 |
redir.filename = $3; |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
75 |
$$ = make_redirection (source, r_reading_until, redir, 0); |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
76 |
! redir_stack[need_here_doc++] = $$; |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
77 |
} |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
78 |
| REDIR_WORD LESS_LESS WORD |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
79 |
--- 532,536 ---- |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
80 |
redir.filename = $3; |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
81 |
$$ = make_redirection (source, r_reading_until, redir, 0); |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
82 |
! push_heredoc ($$); |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
83 |
} |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
84 |
| REDIR_WORD LESS_LESS WORD |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
85 |
*************** |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
86 |
*** 534,538 **** |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
87 |
redir.filename = $3; |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
88 |
$$ = make_redirection (source, r_reading_until, redir, REDIR_VARASSIGN); |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
89 |
! redir_stack[need_here_doc++] = $$; |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
90 |
} |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
91 |
| LESS_LESS_MINUS WORD |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
92 |
--- 539,543 ---- |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
93 |
redir.filename = $3; |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
94 |
$$ = make_redirection (source, r_reading_until, redir, REDIR_VARASSIGN); |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
95 |
! push_heredoc ($$); |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
96 |
} |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
97 |
| LESS_LESS_MINUS WORD |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
98 |
*************** |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
99 |
*** 541,545 **** |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
100 |
redir.filename = $2; |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
101 |
$$ = make_redirection (source, r_deblank_reading_until, redir, 0); |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
102 |
! redir_stack[need_here_doc++] = $$; |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
103 |
} |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
104 |
| NUMBER LESS_LESS_MINUS WORD |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
105 |
--- 546,550 ---- |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
106 |
redir.filename = $2; |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
107 |
$$ = make_redirection (source, r_deblank_reading_until, redir, 0); |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
108 |
! push_heredoc ($$); |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
109 |
} |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
110 |
| NUMBER LESS_LESS_MINUS WORD |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
111 |
*************** |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
112 |
*** 548,552 **** |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
113 |
redir.filename = $3; |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
114 |
$$ = make_redirection (source, r_deblank_reading_until, redir, 0); |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
115 |
! redir_stack[need_here_doc++] = $$; |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
116 |
} |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
117 |
| REDIR_WORD LESS_LESS_MINUS WORD |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
118 |
--- 553,557 ---- |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
119 |
redir.filename = $3; |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
120 |
$$ = make_redirection (source, r_deblank_reading_until, redir, 0); |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
121 |
! push_heredoc ($$); |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
122 |
} |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
123 |
| REDIR_WORD LESS_LESS_MINUS WORD |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
124 |
*************** |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
125 |
*** 555,559 **** |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
126 |
redir.filename = $3; |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
127 |
$$ = make_redirection (source, r_deblank_reading_until, redir, REDIR_VARASSIGN); |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
128 |
! redir_stack[need_here_doc++] = $$; |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
129 |
} |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
130 |
| LESS_LESS_LESS WORD |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
131 |
--- 560,564 ---- |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
132 |
redir.filename = $3; |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
133 |
$$ = make_redirection (source, r_deblank_reading_until, redir, REDIR_VARASSIGN); |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
134 |
! push_heredoc ($$); |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
135 |
} |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
136 |
| LESS_LESS_LESS WORD |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
137 |
*************** |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
138 |
*** 2534,2537 **** |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
139 |
--- 2539,2557 ---- |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
140 |
static int esacs_needed_count; |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
141 |
|
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
142 |
+ static void |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
143 |
+ push_heredoc (r) |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
144 |
+ REDIRECT *r; |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
145 |
+ { |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
146 |
+ if (need_here_doc >= HEREDOC_MAX) |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
147 |
+ { |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
148 |
+ last_command_exit_value = EX_BADUSAGE; |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
149 |
+ need_here_doc = 0; |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
150 |
+ report_syntax_error (_("maximum here-document count exceeded")); |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
151 |
+ reset_parser (); |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
152 |
+ exit_shell (last_command_exit_value); |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
153 |
+ } |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
154 |
+ redir_stack[need_here_doc++] = r; |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
155 |
+ } |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
156 |
+ |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
157 |
void |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
158 |
gather_here_documents () |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
159 |
*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
160 |
--- patchlevel.h Thu Feb 24 21:41:34 2011 |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
161 |
*************** |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
162 |
*** 26,30 **** |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
163 |
looks for to find the patch level (for the sccs version string). */ |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
164 |
|
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
165 |
! #define PATCHLEVEL 50 |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
166 |
|
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
167 |
#endif /* _PATCHLEVEL_H_ */ |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
168 |
--- 26,30 ---- |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
169 |
looks for to find the patch level (for the sccs version string). */ |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
170 |
|
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
171 |
! #define PATCHLEVEL 51 |
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
172 |
|
d1946b7b1894
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
173 |
#endif /* _PATCHLEVEL_H_ */ |