mirror of
https://https.git.savannah.gnu.org/git/bash.git
synced 2026-06-30 17:09:50 +02:00
commit bash-20140822 snapshot
This commit is contained in:
@@ -6552,3 +6552,16 @@ jobs.c
|
||||
|
||||
shell.c
|
||||
- shell_reinitialize: reset running_in_background back to 0
|
||||
|
||||
8/24
|
||||
----
|
||||
execute_cmd.c
|
||||
- {execute_connection,execute_command_internal}: make sure that
|
||||
asynchronous commands always set $? to 0 and are not affected by the
|
||||
command's exit status being inverted using `!'. Fixes bug reported
|
||||
by Vincent Lefevre <vincent@vinc17.net>
|
||||
|
||||
lib/readline/display.c
|
||||
- rl_message: call vsnprintf with full msg_bufsiz, since it counts
|
||||
one fewer than the buffer length passed as an argument. Bug report
|
||||
and fix from Dylan Cali <calid1984@gmail.com>
|
||||
|
||||
@@ -6505,3 +6505,63 @@ subst.c
|
||||
is no way for it to return the index that should be used, and the
|
||||
rest of the function assumes that IND is valid if W_ARRAYIND is set.
|
||||
Fixes bug reported by Corentin Peuvrel <cpeuvrel@pom-monitoring.com>
|
||||
|
||||
8/2
|
||||
---
|
||||
parse.y
|
||||
- read_token_word: if we read a character that will end a command
|
||||
substitution, don't skip over quoted newlines when we read an
|
||||
additional character to figure out whether it's a two-character
|
||||
token. This lets the higher layers deal with quoted newlines after
|
||||
the command substitution. Fixes bug reported by EmanueL Czirai
|
||||
<amanual@riseup.net>
|
||||
|
||||
8/11
|
||||
----
|
||||
execute_cmd.c
|
||||
- execute_pipeline: check whether lastpipe_jid corresponds to a valid
|
||||
job before calling append_process, for the same reason as fix from
|
||||
6/19. Fixes bug reported by <lolilolicon@gmail.com>
|
||||
|
||||
8/12
|
||||
----
|
||||
lib/sh/unicode.c
|
||||
- stub_charset: use strncpy instead of strcpy because we are copying
|
||||
into a local fixed-length buffer. Fixes vulnerability reported by
|
||||
<romerox.adrian@gmail.com>
|
||||
|
||||
execute_cmd.c
|
||||
- execute_pipeline: if we don't call append_process, call
|
||||
wait_for_single_pid to get the status of `lastpid', since that will
|
||||
check the status of already-reaped processes. Fixes spurious error
|
||||
message about non-existent process from fix of 8/11
|
||||
|
||||
8/15
|
||||
----
|
||||
jobs.c
|
||||
- running_in_background: new variable, keeps track of whether or not we
|
||||
are running in the background (not perfect yet)
|
||||
- initialize_job_control: even if we are not turning on job control,
|
||||
get the terminal pgrp so we can use it later
|
||||
- {set_job_control,initialize_job_control}: set running_in_background
|
||||
to 1 if terminal pgrp != shell pgrp
|
||||
- {stop_pipeline,make_child,wait_for}: if we are running in the
|
||||
background, don't mess with the terminal's process group; assume that
|
||||
the parent shell will do that. Fixes bug reprted by Greg Wooledge
|
||||
<wooledg@eeg.ccf.org>
|
||||
|
||||
shell.c
|
||||
- shell_reinitialize: reset running_in_background back to 0
|
||||
|
||||
8/24
|
||||
----
|
||||
execute_cmd.c
|
||||
- {execute_connection,execute_command_internal}: make sure that
|
||||
asynchronous commands always set $? to 0 and are not affected by the
|
||||
command's exit status being inverted using `!'. Fixes bug reported
|
||||
by Vincent Lefevre <vincent@vinc17.net>
|
||||
|
||||
lib/readline/display.c
|
||||
- rl_message: call vsnprintf with full msg_bufsiz, since it counts
|
||||
one fewer than the buffer length passed as an argument. Bug report
|
||||
and fix from Dylan Cali <calid1984@gmail.com>
|
||||
|
||||
@@ -819,6 +819,8 @@ execute_command_internal (command, asynchronous, pipe_in, pipe_out,
|
||||
if (asynchronous)
|
||||
{
|
||||
DESCRIBE_PID (last_made_pid);
|
||||
exec_result = EXECUTION_SUCCESS;
|
||||
invert = 0; /* async commands always succeed */
|
||||
}
|
||||
else
|
||||
#if !defined (JOB_CONTROL)
|
||||
@@ -958,6 +960,9 @@ execute_command_internal (command, asynchronous, pipe_in, pipe_out,
|
||||
case cm_connection:
|
||||
exec_result = execute_connection (command, asynchronous,
|
||||
pipe_in, pipe_out, fds_to_close);
|
||||
if (asynchronous)
|
||||
invert = 0; /* XXX */
|
||||
|
||||
break;
|
||||
|
||||
#if defined (DPAREN_ARITHMETIC)
|
||||
@@ -2542,6 +2547,12 @@ execute_connection (command, asynchronous, pipe_in, pipe_out, fds_to_close)
|
||||
line_number_for_err_trap = line_number;
|
||||
exec_result = execute_pipeline (command, asynchronous, pipe_in, pipe_out, fds_to_close);
|
||||
|
||||
if (asynchronous)
|
||||
{
|
||||
exec_result = EXECUTION_SUCCESS;
|
||||
invert = 0;
|
||||
}
|
||||
|
||||
if (was_error_trap && ignore_return == 0 && invert == 0 && exec_result != EXECUTION_SUCCESS)
|
||||
{
|
||||
last_command_exit_value = exec_result;
|
||||
|
||||
+5522
File diff suppressed because it is too large
Load Diff
@@ -2246,7 +2246,7 @@ rl_message (va_alist)
|
||||
msg_buf = xmalloc (msg_bufsiz = 128);
|
||||
|
||||
#if defined (HAVE_VSNPRINTF)
|
||||
bneed = vsnprintf (msg_buf, msg_bufsiz - 1, format, args);
|
||||
bneed = vsnprintf (msg_buf, msg_bufsiz, format, args);
|
||||
if (bneed >= msg_bufsiz - 1)
|
||||
{
|
||||
msg_bufsiz = bneed + 1;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user