commit bash-20150918 snapshot

This commit is contained in:
Chet Ramey
2015-09-21 17:02:33 -04:00
parent 2b7361d5c1
commit dcb2f4489f
27 changed files with 266 additions and 39 deletions
+86
View File
@@ -9570,3 +9570,89 @@ lib/readline/kill.c
- _rl_copy_to_kill_ring: don't assume that rl_kill_ring has been
allocated if _rl_last_command_was_kill is non-zero; make sure it's
non-null before indexing into it
9/15
----
variables.c
- initialize_shell_variables: cope with a NULL env pointer. Fixes bug
reported by ziyunfei <446240525@qq.com>
9/16
----
builtins/exec.def
- exec_builtin: if -c is supplied, pass an empty array instead of a NULL
pointer to shell_execve
variables.c
- set_pwd: only believe $PWD if it begins with a slash; try to canonicalize
it and set it to physical path if canonicalization fails. Reported by
ziyunfei <446240525@qq.com>
9/17
----
subst.c
- do_compound_assignment: make sure to dispose of word list generated by
expand_compound_array_assignment; fixes memory leak reported in
https://bugzilla.redhat.com/show_bug.cgi?id=1264101
variables.c
- adjust_shell_level: clamp the value of shell_level at 1000 and reset
there, instead of > 1000, since the itos replacement code doesn't
handle the value 1000. Fixes bug reported by ziyunfei <446240525@qq.com>
shell.h,parse.y
- save_parser_state,restore_parser_state: now save and restore redir_stack,
short-circuiting if need_here_doc == 0. If we save a non-zero value for
need_here_doc, we have to make sure there is something valid for
gather_here_documents to work on. Fixes bug reported by
Brian Carpenter <brian.carpenter@gmail.com>
9/18
----
array.c
- array_to_assign: use ansic_shouldquote to check whether each element
value contains non-printable characters and use ansic_quote to
generate the value instead of using sh_double_quote unconditionally
assoc.c
- assoc_to_assign: if either the key or the value of an associative array
element contains non-printable characters (ansic_shouldquote returns
true), use ansic_quote to quote them instead of using double quotes
unconditionally
9/19
----
subst.c
- pat_subst: handle REP being NULL. Fixes bug reported by Brian
Carpenter <brian.carpenter@gmail.com>
builtins/evalstring.c
- parse_string: if we get a longjmp to top_level with DISCARD as the
code (in which case we are going to go on), return -DISCARD to our
caller (always xparse_dolparen) after doing our own cleanup instead
of calling jump_to_top_level
parse.y
- xparse_dolparen: if parse_string returns < 0, do the appropriate
cleanup and then jump_to_top_level with the negative of the return
value. This allows us to do the appropriate parser cleanup in
case we're not going to exit the shell. Fixes bug reported by Brian
Carpenter <brian.carpenter@gmail.com>
subst.c
- extract_delimited_string: if a recursive call to one of the extract_
functions or a call to ADVANCE_CHAR leaves i past the end of the
string, cut the loop off at the end of the string. Fixes bug
reported by Brian Carpenter <brian.carpenter@gmail.com>
9/20
----
subst.c
- get_var_and_type: return appropriate values if variable indirection
results in a NULL variable. Fixes bug reported by Brian Carpenter
<brian.carpenter@gmail.com>
lib/readline/history.c
- history_get_time: handle strtol overflows caused by malicious
modifications to timestamps in the history file. Fixes issue
reported by rens@endoria.net