Package: bash / 4.4-5

Metadata

Package Version Patches format
bash 4.4-5 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
bash44 001.diff | (download)

lib/readline/history.c | 6 5 + 1 - 0 !
patchlevel.h | 2 1 + 1 - 0 !
2 files changed, 6 insertions(+), 2 deletions(-)


Bash-4.4 changed the way the history list is initially allocated to reduce
the number of reallocations and copies.  Users who set HISTSIZE to a very
large number to essentially unlimit the size of the history list will get
memory allocation errors 

bash44 002.diff | (download)

patchlevel.h | 2 1 + 1 - 0 !
subst.c | 9 8 + 1 - 0 !
2 files changed, 9 insertions(+), 2 deletions(-)


Bash-4.4 warns when discarding NUL bytes in command substitution output
instead of silently dropping them.  This patch changes the warnings from
one per NUL byte encountered to one warning per command substitution.

bash44 003.diff | (download)

lib/glob/sm_loop.c | 9 9 + 0 - 0 !
patchlevel.h | 2 1 + 1 - 0 !
2 files changed, 10 insertions(+), 1 deletion(-)


Specially-crafted input, in this case an incomplete pathname expansion
bracket expression containing an invalid collating symbol, can cause the
shell to crash.

bash44 004.diff | (download)

jobs.c | 15 15 + 0 - 0 !
jobs.h | 1 1 + 0 - 0 !
patchlevel.h | 2 1 + 1 - 0 !
subst.c | 5 1 + 4 - 0 !
4 files changed, 18 insertions(+), 5 deletions(-)


There is a race condition that can result in bash referencing freed memory
when freeing data associated with the last process substitution.

bash44 005.diff | (download)

builtins/evalstring.c | 3 0 + 3 - 0 !
patchlevel.h | 2 1 + 1 - 0 !
2 files changed, 1 insertion(+), 4 deletions(-)


Under certain circumstances, a simple command is optimized to eliminate a
fork, resulting in an EXIT trap not being executed.

bash44 006.diff | (download)

builtins/pushd.def | 7 6 + 1 - 0 !
patchlevel.h | 2 1 + 1 - 0 !
2 files changed, 7 insertions(+), 2 deletions(-)


Out-of-range negative offsets to popd can cause the shell to crash attempting
to free an invalid memory block.

bash44 007.diff | (download)

bashline.c | 22 12 + 10 - 0 !
patchlevel.h | 2 1 + 1 - 0 !
subst.c | 4 4 + 0 - 0 !
3 files changed, 17 insertions(+), 11 deletions(-)


When performing filename completion, bash dequotes the directory name being
completed, which can result in match failures and potential unwanted
expansion.

bash44 008.diff | (download)

expr.c | 15 9 + 6 - 0 !
patchlevel.h | 2 1 + 1 - 0 !
2 files changed, 10 insertions(+), 7 deletions(-)


Under certain circumstances, bash will evaluate arithmetic expressions as
part of reading an expression token even when evaluation is suppressed. This
happens while evaluating a conditional expression and skipping over the
failed branch of the expression.

bash44 009.diff | (download)

lib/readline/history.c | 16 7 + 9 - 0 !
patchlevel.h | 2 1 + 1 - 0 !
2 files changed, 8 insertions(+), 10 deletions(-)


There is a race condition in add_history() that can be triggered by a fatal
signal arriving between the time the history length is updated and the time
the history list update is completed. A later attempt to reference an
invalid history entry can cause a crash.

bash44 010.diff | (download)

builtins/read.def | 3 2 + 1 - 0 !
patchlevel.h | 2 1 + 1 - 0 !
2 files changed, 3 insertions(+), 2 deletions(-)


Depending on compiler optimizations and behavior, the `read' builtin may not
save partial input when a timeout occurs.

bash44 011.diff | (download)

patchlevel.h | 2 1 + 1 - 0 !
sig.c | 3 2 + 1 - 0 !
2 files changed, 3 insertions(+), 2 deletions(-)


Subshells begun to run command and process substitutions may attempt to
set the terminal's process group to an incorrect value if they receive
a fatal signal.  This depends on the behavior of the process that starts
the shell.

bash44 012.diff | (download)

patchlevel.h | 2 1 + 1 - 0 !
subst.c | 32 20 + 12 - 0 !
2 files changed, 21 insertions(+), 13 deletions(-)


When -N is used, the input is not supposed to be split using $IFS, but
leading and trailing IFS whitespace was still removed.

bashbug editor.diff | (download)

support/bashbug.sh | 1 1 + 0 - 0 !
1 file changed, 1 insertion(+)

---
deb bash config.diff | (download)

config-bot.h | 2 1 + 1 - 0 !
config-top.h | 8 4 + 4 - 0 !
2 files changed, 5 insertions(+), 5 deletions(-)

---
deb examples.diff | (download)

examples/loadables/README | 3 3 + 0 - 0 !
1 file changed, 3 insertions(+)

---
man arithmetic.diff | (download)

doc/bash.1 | 3 3 + 0 - 0 !
1 file changed, 3 insertions(+)

---
man fignore.diff | (download)

doc/bash.1 | 4 3 + 1 - 0 !
1 file changed, 3 insertions(+), 1 deletion(-)

---
man bashrc.diff | (download)

doc/bash.1 | 20 15 + 5 - 0 !
1 file changed, 15 insertions(+), 5 deletions(-)

---
man bashlogout.diff | (download)

doc/bash.1 | 3 3 + 0 - 0 !
1 file changed, 3 insertions(+)

---
man nocaseglob.diff | (download)

doc/bash.1 | 4 4 + 0 - 0 !
1 file changed, 4 insertions(+)

---
man test.diff | (download)

builtins/test.def | 3 3 + 0 - 0 !
1 file changed, 3 insertions(+)

---
man test2.diff | (download)

builtins/test.def | 3 3 + 0 - 0 !
doc/bash.1 | 4 4 + 0 - 0 !
doc/bashref.texi | 4 4 + 0 - 0 !
3 files changed, 11 insertions(+)

---
rbash manpage.diff | (download)

doc/rbash.1 | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

---
bash default editor.diff | (download)

bashline.c | 4 2 + 2 - 0 !
builtins/fc.def | 4 2 + 2 - 0 !
2 files changed, 4 insertions(+), 4 deletions(-)

---
pgrp pipe.diff | (download)

config-bot.h | 3 3 + 0 - 0 !
1 file changed, 3 insertions(+)

---
input err.diff | (download)

input.c | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

---
exec redirections doc.diff | (download)

doc/bash.1 | 4 4 + 0 - 0 !
doc/bashref.texi | 3 3 + 0 - 0 !
2 files changed, 7 insertions(+)

---
bash aliases repeat.diff | (download)

examples/startup-files/Bash_aliases | 6 3 + 3 - 0 !
1 file changed, 3 insertions(+), 3 deletions(-)

---
use system texi2html.diff | (download)

doc/Makefile.in | 4 2 + 2 - 0 !
1 file changed, 2 insertions(+), 2 deletions(-)

---
bzero.diff | (download)

lib/sh/oslib.c | 4 2 + 2 - 0 !
1 file changed, 2 insertions(+), 2 deletions(-)

---
man macro warnings.diff | (download)

doc/bash.1 | 27 18 + 9 - 0 !
1 file changed, 18 insertions(+), 9 deletions(-)

---