From https://ftp.gnu.org/gnu/bash/bash-4.4-patches/bash44-010 Signed-off-by: Peter Korsgaard BASH PATCH REPORT ================= Bash-Release: 4.4 Patch-ID: bash44-010 Bug-Reported-by: Clark Wang Bug-Reference-ID: Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2016-11/msg00104.html Bug-Description: Depending on compiler optimizations and behavior, the `read' builtin may not save partial input when a timeout occurs. Patch (apply with `patch -p0'): *** bash-4.4-patched/builtins/read.def 2016-05-16 14:24:56.000000000 -0400 --- b/builtins/read.def 2016-11-25 12:37:56.000000000 -0500 *************** *** 182,186 **** { register char *varname; ! int size, i, nr, pass_next, saw_escape, eof, opt, retval, code, print_ps2; int input_is_tty, input_is_pipe, unbuffered_read, skip_ctlesc, skip_ctlnul; int raw, edit, nchars, silent, have_timeout, ignore_delim, fd, lastsig, t_errno; --- b/182,187 ---- { register char *varname; ! int size, nr, pass_next, saw_escape, eof, opt, retval, code, print_ps2; ! volatile int i; int input_is_tty, input_is_pipe, unbuffered_read, skip_ctlesc, skip_ctlnul; int raw, edit, nchars, silent, have_timeout, ignore_delim, fd, lastsig, t_errno; *** bash-4.4/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 --- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400 *************** *** 26,30 **** looks for to find the patch level (for the sccs version string). */ ! #define PATCHLEVEL 9 #endif /* _PATCHLEVEL_H_ */ --- b/26,30 ---- looks for to find the patch level (for the sccs version string). */ ! #define PATCHLEVEL 10 #endif /* _PATCHLEVEL_H_ */