author | Stefan Teleman <stefan.teleman@oracle.com> |
Tue, 11 Nov 2014 14:04:02 -0800 | |
branch | s11-update |
changeset 3462 | 3fbdd7a202d6 |
permissions | -rw-r--r-- |
3462
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1 |
BASH PATCH REPORT |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
2 |
================= |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
3 |
|
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
4 |
Bash-Release: 4.1 |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
5 |
Patch-ID: bash41-015 |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
6 |
|
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
7 |
Bug-Reported-by: Florian Weimer <[email protected]> |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
8 |
Bug-Reference-ID: |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
9 |
Bug-Reference-URL: |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
10 |
|
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
11 |
Bug-Description: |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
12 |
|
3fbdd7a202d6
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 |
3fbdd7a202d6
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 |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
15 |
or many nested loops. |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
16 |
|
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
17 |
Patch (apply with `patch -p0'): |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
18 |
|
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
19 |
*** ../bash-4.1.14/parse.y 2014-09-27 12:18:25.000000000 -0400 |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
20 |
--- parse.y 2014-09-30 19:36:03.000000000 -0400 |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
21 |
*************** |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
22 |
*** 168,171 **** |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
23 |
--- 168,174 ---- |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
24 |
static int reserved_word_acceptable __P((int)); |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
25 |
static int yylex __P((void)); |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
26 |
+ |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
27 |
+ static void push_heredoc __P((REDIRECT *)); |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
28 |
+ static char *mk_alexpansion __P((char *)); |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
29 |
static int alias_expand_token __P((char *)); |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
30 |
static int time_command_acceptable __P((void)); |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
31 |
*************** |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
32 |
*** 262,266 **** |
3fbdd7a202d6
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 |
3fbdd7a202d6
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. */ |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
35 |
! static REDIRECT *redir_stack[10]; |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
36 |
int need_here_doc; |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
37 |
|
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
38 |
--- 265,271 ---- |
3fbdd7a202d6
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 |
3fbdd7a202d6
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. */ |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
41 |
! #define HEREDOC_MAX 16 |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
42 |
! |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
43 |
! static REDIRECT *redir_stack[HEREDOC_MAX]; |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
44 |
int need_here_doc; |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
45 |
|
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
46 |
*************** |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
47 |
*** 304,308 **** |
3fbdd7a202d6
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. */ |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
49 |
#define MAX_CASE_NEST 128 |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
50 |
! static int word_lineno[MAX_CASE_NEST]; |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
51 |
static int word_top = -1; |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
52 |
|
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
53 |
--- 309,313 ---- |
3fbdd7a202d6
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. */ |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
55 |
#define MAX_CASE_NEST 128 |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
56 |
! static int word_lineno[MAX_CASE_NEST+1]; |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
57 |
static int word_top = -1; |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
58 |
|
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
59 |
*************** |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
60 |
*** 517,521 **** |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
61 |
redir.filename = $2; |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
62 |
$$ = make_redirection (source, r_reading_until, redir, 0); |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
63 |
! redir_stack[need_here_doc++] = $$; |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
64 |
} |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
65 |
| NUMBER LESS_LESS WORD |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
66 |
--- 522,526 ---- |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
67 |
redir.filename = $2; |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
68 |
$$ = make_redirection (source, r_reading_until, redir, 0); |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
69 |
! push_heredoc ($$); |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
70 |
} |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
71 |
| NUMBER LESS_LESS WORD |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
72 |
*************** |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
73 |
*** 524,528 **** |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
74 |
redir.filename = $3; |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
75 |
$$ = make_redirection (source, r_reading_until, redir, 0); |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
76 |
! redir_stack[need_here_doc++] = $$; |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
77 |
} |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
78 |
| REDIR_WORD LESS_LESS WORD |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
79 |
--- 529,533 ---- |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
80 |
redir.filename = $3; |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
81 |
$$ = make_redirection (source, r_reading_until, redir, 0); |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
82 |
! push_heredoc ($$); |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
83 |
} |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
84 |
| REDIR_WORD LESS_LESS WORD |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
85 |
*************** |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
86 |
*** 531,535 **** |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
87 |
redir.filename = $3; |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
88 |
$$ = make_redirection (source, r_reading_until, redir, REDIR_VARASSIGN); |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
89 |
! redir_stack[need_here_doc++] = $$; |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
90 |
} |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
91 |
| LESS_LESS_MINUS WORD |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
92 |
--- 536,540 ---- |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
93 |
redir.filename = $3; |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
94 |
$$ = make_redirection (source, r_reading_until, redir, REDIR_VARASSIGN); |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
95 |
! push_heredoc ($$); |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
96 |
} |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
97 |
| LESS_LESS_MINUS WORD |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
98 |
*************** |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
99 |
*** 538,542 **** |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
100 |
redir.filename = $2; |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
101 |
$$ = make_redirection (source, r_deblank_reading_until, redir, 0); |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
102 |
! redir_stack[need_here_doc++] = $$; |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
103 |
} |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
104 |
| NUMBER LESS_LESS_MINUS WORD |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
105 |
--- 543,547 ---- |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
106 |
redir.filename = $2; |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
107 |
$$ = make_redirection (source, r_deblank_reading_until, redir, 0); |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
108 |
! push_heredoc ($$); |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
109 |
} |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
110 |
| NUMBER LESS_LESS_MINUS WORD |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
111 |
*************** |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
112 |
*** 545,549 **** |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
113 |
redir.filename = $3; |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
114 |
$$ = make_redirection (source, r_deblank_reading_until, redir, 0); |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
115 |
! redir_stack[need_here_doc++] = $$; |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
116 |
} |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
117 |
| REDIR_WORD LESS_LESS_MINUS WORD |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
118 |
--- 550,554 ---- |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
119 |
redir.filename = $3; |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
120 |
$$ = make_redirection (source, r_deblank_reading_until, redir, 0); |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
121 |
! push_heredoc ($$); |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
122 |
} |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
123 |
| REDIR_WORD LESS_LESS_MINUS WORD |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
124 |
*************** |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
125 |
*** 552,556 **** |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
126 |
redir.filename = $3; |
3fbdd7a202d6
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); |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
128 |
! redir_stack[need_here_doc++] = $$; |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
129 |
} |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
130 |
| LESS_LESS_LESS WORD |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
131 |
--- 557,561 ---- |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
132 |
redir.filename = $3; |
3fbdd7a202d6
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); |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
134 |
! push_heredoc ($$); |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
135 |
} |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
136 |
| LESS_LESS_LESS WORD |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
137 |
*************** |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
138 |
*** 2508,2511 **** |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
139 |
--- 2513,2531 ---- |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
140 |
static int esacs_needed_count; |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
141 |
|
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
142 |
+ static void |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
143 |
+ push_heredoc (r) |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
144 |
+ REDIRECT *r; |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
145 |
+ { |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
146 |
+ if (need_here_doc >= HEREDOC_MAX) |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
147 |
+ { |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
148 |
+ last_command_exit_value = EX_BADUSAGE; |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
149 |
+ need_here_doc = 0; |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
150 |
+ report_syntax_error (_("maximum here-document count exceeded")); |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
151 |
+ reset_parser (); |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
152 |
+ exit_shell (last_command_exit_value); |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
153 |
+ } |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
154 |
+ redir_stack[need_here_doc++] = r; |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
155 |
+ } |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
156 |
+ |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
157 |
void |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
158 |
gather_here_documents () |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
159 |
*** ../bash-4.1-patched/patchlevel.h 2009-10-01 16:39:22.000000000 -0400 |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
160 |
--- patchlevel.h 2010-01-14 09:38:08.000000000 -0500 |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
161 |
*************** |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
162 |
*** 26,30 **** |
3fbdd7a202d6
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). */ |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
164 |
|
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
165 |
! #define PATCHLEVEL 14 |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
166 |
|
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
167 |
#endif /* _PATCHLEVEL_H_ */ |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
168 |
--- 26,30 ---- |
3fbdd7a202d6
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). */ |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
170 |
|
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
171 |
! #define PATCHLEVEL 15 |
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
172 |
|
3fbdd7a202d6
19701904 problem in UTILITY/BASH
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
173 |
#endif /* _PATCHLEVEL_H_ */ |