Hello community, here is the log from the commit of package bash for openSUSE:Factory checked in at 2018-02-03 15:35:40 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/bash (Old) and /work/SRC/openSUSE:Factory/.bash.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "bash" Sat Feb 3 15:35:40 2018 rev:142 rq:570849 version:unknown Changes: -------- --- /work/SRC/openSUSE:Factory/bash/bash.changes 2018-01-29 14:55:00.209401332 +0100 +++ /work/SRC/openSUSE:Factory/.bash.new/bash.changes 2018-02-03 15:35:42.160427669 +0100 @@ -1,0 +2,22 @@ +Tue Jan 30 01:42:43 UTC 2018 - avin...@opensuse.org + +- Add patches 13-18 to bash-4.4-patches.tar.bz2 + * 13: If a here-document contains a command substitution, the + command substitution can get access to the file descriptor used + to write the here-document. + * 14: Under some circumstances, functions that return via the + `return' builtin do not clean up memory they allocated to keep + track of FIFOs. + * 15: Process substitution can leak internal quoting to the + parser in the invoked subshell. + * 16: Bash can perform trap processing while reading command + substitution output instead of waiting until the command + completes. + * 17: There is a memory leak when `read -e' is used to read a + line using readline. + * 18: Under certain circumstances (e.g., reading from /dev/zero), + read(2) will not return -1 even when interrupted by a signal. + The read builtin needs to check for signals in this case. +- partial cleanup with spec-cleaner + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ bash.spec ++++++ --- /var/tmp/diff_new_pack.lKskwj/_old 2018-02-03 15:35:43.540363212 +0100 +++ /var/tmp/diff_new_pack.lKskwj/_new 2018-02-03 15:35:43.544363026 +0100 @@ -96,7 +96,6 @@ Patch48: bash-4.3-extra-import-func.patch # PATCH-EXTEND-SUSE Allow root to clean file system if filled up Patch49: bash-4.3-pathtemp.patch -BuildRoot: %{_tmppath}/%{name}-%{version}-build %global _sysconfdir /etc %global _incdir %{_includedir} %global _ldldir /%{_lib}/bash @@ -561,9 +560,9 @@ %install pushd ../readline-%{rl_vers}%{rextend} - make install htmldir=%{_defaultdocdir}/readline \ - installdir=%{_defaultdocdir}/readline/examples DESTDIR=%{buildroot} - make install-shared libdir=/%{_lib} linkagedir=%{_libdir} DESTDIR=%{buildroot} + %make_install htmldir=%{_defaultdocdir}/readline \ + installdir=%{_defaultdocdir}/readline/examples + %make_install install-shared libdir=/%{_lib} linkagedir=%{_libdir} rm -rf %{buildroot}%{_defaultdocdir}/bash mkdir -p %{buildroot}%{_defaultdocdir}/bash chmod 0755 %{buildroot}/%{_lib}/libhistory.so.%{rl_vers} @@ -575,7 +574,7 @@ ln -sf /%{_lib}/libhistory.so.%{rl_vers} %{buildroot}/%{_libdir}/libhistory.so ln -sf /%{_lib}/libreadline.so.%{rl_vers} %{buildroot}/%{_libdir}/libreadline.so popd - make install DESTDIR=%{buildroot} + %make_install make -C examples/loadables/ install-supported DESTDIR=%{buildroot} libdir=/%{_lib} rm -rf %{buildroot}%{_libdir}/bash rm -rf %{buildroot}/%{_lib}/pkgconfig ++++++ bash-4.4-patches.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-4.4-patches/bash44-006 new/bash-4.4-patches/bash44-006 --- old/bash-4.4-patches/bash44-006 2017-01-19 20:32:41.000000000 +0100 +++ new/bash-4.4-patches/bash44-006 2018-01-30 08:17:05.715017954 +0100 @@ -15,7 +15,7 @@ Patch (apply with `patch -p0'): -*** ../bash-4.4-patched/builtins/pushd.def 2016-01-25 13:31:49.000000000 -0500 +*** builtins/pushd.def 2016-01-25 13:31:49.000000000 -0500 --- builtins/pushd.def 2016-10-28 10:46:49.000000000 -0400 *************** *** 366,370 **** @@ -42,7 +42,7 @@ + } free (pushd_directory_list[i]); directory_list_offset--; -*** ../bash-4.4/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 +*** patchlevel.h 2016-06-22 14:51:03.000000000 -0400 --- patchlevel.h 2016-10-01 11:01:28.000000000 -0400 *************** *** 26,30 **** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-4.4-patches/bash44-007 new/bash-4.4-patches/bash44-007 --- old/bash-4.4-patches/bash44-007 2017-01-19 20:32:54.000000000 +0100 +++ new/bash-4.4-patches/bash44-007 2018-01-30 08:17:05.759017112 +0100 @@ -16,7 +16,7 @@ Patch (apply with `patch -p0'): -*** ../bash-4.4-patched/bashline.c 2016-08-05 21:44:05.000000000 -0400 +*** bashline.c 2016-08-05 21:44:05.000000000 -0400 --- bashline.c 2017-01-19 13:15:51.000000000 -0500 *************** *** 143,147 **** @@ -121,7 +121,7 @@ ! wl = expand_prompt_string (new_dirname, 0, W_NOCOMSUB|W_NOPROCSUB|W_COMPLETE); /* does the right thing */ if (wl) { -*** ../bash-4.4/subst.c 2016-08-30 16:46:38.000000000 -0400 +*** subst.c 2016-08-30 16:46:38.000000000 -0400 --- subst.c 2017-01-19 07:09:57.000000000 -0500 *************** *** 9459,9462 **** @@ -134,7 +134,7 @@ + tword->flags |= W_NOPROCSUB; temp = (char *)NULL; -*** ../bash-4.4/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 +*** patchlevel.h 2016-06-22 14:51:03.000000000 -0400 --- patchlevel.h 2016-10-01 11:01:28.000000000 -0400 *************** *** 26,30 **** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-4.4-patches/bash44-008 new/bash-4.4-patches/bash44-008 --- old/bash-4.4-patches/bash44-008 2017-01-20 20:58:28.000000000 +0100 +++ new/bash-4.4-patches/bash44-008 2018-01-30 08:17:05.783016652 +0100 @@ -17,7 +17,7 @@ Patch (apply with `patch -p0'): -*** ../bash-4.4-patched/expr.c 2015-10-11 14:46:36.000000000 -0400 +*** expr.c 2015-10-11 14:46:36.000000000 -0400 --- expr.c 2016-11-08 11:55:46.000000000 -0500 *************** *** 579,585 **** @@ -67,7 +67,7 @@ + if (set_noeval) noeval--; -*** ../bash-4.4/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 +*** patchlevel.h 2016-06-22 14:51:03.000000000 -0400 --- patchlevel.h 2016-10-01 11:01:28.000000000 -0400 *************** *** 26,30 **** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-4.4-patches/bash44-009 new/bash-4.4-patches/bash44-009 --- old/bash-4.4-patches/bash44-009 2017-01-20 20:58:38.000000000 +0100 +++ new/bash-4.4-patches/bash44-009 2018-01-30 08:17:05.835015656 +0100 @@ -17,7 +17,7 @@ Patch (apply with `patch -p0'): -*** ../bash-4.4-patched/lib/readline/history.c 2016-11-11 13:42:49.000000000 -0500 +*** lib/readline/history.c 2016-11-11 13:42:49.000000000 -0500 --- lib/readline/history.c 2016-12-05 10:37:51.000000000 -0500 *************** *** 280,283 **** @@ -90,7 +90,7 @@ ! history_length = new_length; } -*** ../bash-4.4/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 +*** patchlevel.h 2016-06-22 14:51:03.000000000 -0400 --- patchlevel.h 2016-10-01 11:01:28.000000000 -0400 *************** *** 26,30 **** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-4.4-patches/bash44-010 new/bash-4.4-patches/bash44-010 --- old/bash-4.4-patches/bash44-010 2017-01-20 20:58:51.000000000 +0100 +++ new/bash-4.4-patches/bash44-010 2018-01-30 08:17:05.859015197 +0100 @@ -15,7 +15,7 @@ Patch (apply with `patch -p0'): -*** ../bash-4.4-patched/builtins/read.def 2016-05-16 14:24:56.000000000 -0400 +*** builtins/read.def 2016-05-16 14:24:56.000000000 -0400 --- builtins/read.def 2016-11-25 12:37:56.000000000 -0500 *************** *** 182,186 **** @@ -32,7 +32,7 @@ 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 +*** patchlevel.h 2016-06-22 14:51:03.000000000 -0400 --- patchlevel.h 2016-10-01 11:01:28.000000000 -0400 *************** *** 26,30 **** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-4.4-patches/bash44-011 new/bash-4.4-patches/bash44-011 --- old/bash-4.4-patches/bash44-011 2017-01-20 20:59:03.000000000 +0100 +++ new/bash-4.4-patches/bash44-011 2018-01-30 08:17:05.899014431 +0100 @@ -17,7 +17,7 @@ Patch (apply with `patch -p0'): -*** ../bash-4.4-patched/sig.c 2016-02-11 15:02:45.000000000 -0500 +*** sig.c 2016-02-11 15:02:45.000000000 -0500 --- sig.c 2017-01-04 09:09:47.000000000 -0500 *************** *** 586,590 **** @@ -33,7 +33,7 @@ ! end_job_control (); #endif /* JOB_CONTROL */ -*** ../bash-4.4/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 +*** patchlevel.h 2016-06-22 14:51:03.000000000 -0400 --- patchlevel.h 2016-10-01 11:01:28.000000000 -0400 *************** *** 26,30 **** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-4.4-patches/bash44-012 new/bash-4.4-patches/bash44-012 --- old/bash-4.4-patches/bash44-012 2017-01-27 17:27:11.000000000 +0100 +++ new/bash-4.4-patches/bash44-012 2018-01-30 08:17:05.955013360 +0100 @@ -15,7 +15,7 @@ Patch (apply with `patch -p0'): -*** ../bash-4.4-patched/subst.c 2017-01-20 14:22:01.000000000 -0500 +*** subst.c 2017-01-20 14:22:01.000000000 -0500 --- subst.c 2017-01-25 13:43:22.000000000 -0500 *************** *** 2826,2834 **** @@ -144,7 +144,7 @@ ! while (s[sindex] && spctabnl (s[sindex]) && islocalsep(s[sindex])) sindex++; } -*** ../bash-4.4/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 +*** patchlevel.h 2016-06-22 14:51:03.000000000 -0400 --- patchlevel.h 2016-10-01 11:01:28.000000000 -0400 *************** *** 26,30 **** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-4.4-patches/bash44-013 new/bash-4.4-patches/bash44-013 --- old/bash-4.4-patches/bash44-013 1970-01-01 01:00:00.000000000 +0100 +++ new/bash-4.4-patches/bash44-013 2018-01-30 08:17:05.995012594 +0100 @@ -0,0 +1,43 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.4 +Patch-ID: bash44-013 + +Bug-Reported-by: Siteshwar Vashisht <svashi...@redhat.com> +Bug-Reference-ID: <1508861265.9523642.1484659442561.javamail.zim...@redhat.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2017-01/msg00026.html + +Bug-Description: + +If a here-document contains a command substitution, the command substitution +can get access to the file descriptor used to write the here-document. + +Patch (apply with `patch -p0'): + +*** redir.c 2016-06-02 20:22:24.000000000 -0400 +--- redir.c 2017-01-17 13:23:40.000000000 -0500 +*************** +*** 470,473 **** +--- 467,472 ---- + } + ++ SET_CLOSE_ON_EXEC (fd); ++ + errno = r = 0; /* XXX */ + /* write_here_document returns 0 on success, errno on failure. */ +*** patchlevel.h 2016-06-22 14:51:03.000000000 -0400 +--- 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 12 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 13 + + #endif /* _PATCHLEVEL_H_ */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-4.4-patches/bash44-014 new/bash-4.4-patches/bash44-014 --- old/bash-4.4-patches/bash44-014 1970-01-01 01:00:00.000000000 +0100 +++ new/bash-4.4-patches/bash44-014 2018-01-30 08:17:06.055011446 +0100 @@ -0,0 +1,104 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.4 +Patch-ID: bash44-014 + +Bug-Reported-by: Oyvind Hvidsten <oyvind.hvids...@dhampir.no> +Bug-Reference-ID: <c01b7049-925c-9409-d978-e59bf4259...@dhampir.no> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2017-12/msg00023.html + +Bug-Description: + +Under some circumstances, functions that return via the `return' builtin do +not clean up memory they allocated to keep track of FIFOs. + +Patch (apply with `patch -p0'): + +*** ../bash-20171205/execute_cmd.c 2017-12-08 07:38:28.000000000 -0500 +--- execute_cmd.c 2018-01-26 15:23:38.000000000 -0500 +*************** +*** 727,730 **** +--- 727,732 ---- + ofifo = num_fifos (); + ofifo_list = copy_fifo_list ((int *)&osize); ++ begin_unwind_frame ("internal_fifos"); ++ add_unwind_protect (xfree, ofifo_list); + saved_fifo = 1; + } +*************** +*** 742,746 **** + #if defined (PROCESS_SUBSTITUTION) + if (saved_fifo) +! free ((void *)ofifo_list); + #endif + return (last_command_exit_value = EXECUTION_FAILURE); +--- 744,751 ---- + #if defined (PROCESS_SUBSTITUTION) + if (saved_fifo) +! { +! free ((void *)ofifo_list); +! discard_unwind_frame ("internal_fifos"); +! } + #endif + return (last_command_exit_value = EXECUTION_FAILURE); +*************** +*** 1061,1064 **** +--- 1066,1070 ---- + close_new_fifos ((char *)ofifo_list, osize); + free ((void *)ofifo_list); ++ discard_unwind_frame ("internal_fifos"); + } + #endif +*************** +*** 4978,4984 **** + #endif + +! #if defined (PROCESS_SUBSTITUTION) + ofifo = num_fifos (); + ofifo_list = copy_fifo_list (&osize); + #endif + +--- 4984,4995 ---- + #endif + +! #if defined (PROCESS_SUBSTITUTION) +! begin_unwind_frame ("saved_fifos"); +! /* If we return, we longjmp and don't get a chance to restore the old +! fifo list, so we add an unwind protect to free it */ + ofifo = num_fifos (); + ofifo_list = copy_fifo_list (&osize); ++ if (ofifo_list) ++ add_unwind_protect (xfree, ofifo_list); + #endif + +*************** +*** 5064,5068 **** + if (nfifo > ofifo) + close_new_fifos (ofifo_list, osize); +! free (ofifo_list); + #endif + +--- 5075,5081 ---- + if (nfifo > ofifo) + close_new_fifos (ofifo_list, osize); +! if (ofifo_list) +! free (ofifo_list); +! discard_unwind_frame ("saved_fifos"); + #endif + +*** patchlevel.h 2016-06-22 14:51:03.000000000 -0400 +--- 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 13 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 14 + + #endif /* _PATCHLEVEL_H_ */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-4.4-patches/bash44-015 new/bash-4.4-patches/bash44-015 --- old/bash-4.4-patches/bash44-015 1970-01-01 01:00:00.000000000 +0100 +++ new/bash-4.4-patches/bash44-015 2018-01-30 08:17:06.087010833 +0100 @@ -0,0 +1,43 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.4 +Patch-ID: bash44-015 + +Bug-Reported-by: David Simmons <bug-b...@tmp.davidsimmons.com> +Bug-Reference-ID: <bc6f0839-fa50-fe8f-65f5-5aa6feb11...@davidsimmons.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2017-02/msg00033.html + +Bug-Description: + +Process substitution can leak internal quoting to the parser in the invoked +subshell. + +Patch (apply with `patch -p0'): + +*** ../bash-20170210/subst.c 2017-01-19 11:08:50.000000000 -0500 +--- subst.c 2017-02-20 10:12:49.000000000 -0500 +*************** +*** 5907,5910 **** +--- 5907,5912 ---- + expanding_redir = 0; + ++ remove_quoted_escapes (string); ++ + subshell_level++; + result = parse_and_execute (string, "process substitution", (SEVAL_NONINT|SEVAL_NOHIST)); +*** patchlevel.h 2016-06-22 14:51:03.000000000 -0400 +--- 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 14 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 15 + + #endif /* _PATCHLEVEL_H_ */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-4.4-patches/bash44-016 new/bash-4.4-patches/bash44-016 --- old/bash-4.4-patches/bash44-016 1970-01-01 01:00:00.000000000 +0100 +++ new/bash-4.4-patches/bash44-016 2018-01-30 08:17:06.119010221 +0100 @@ -0,0 +1,78 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.4 +Patch-ID: bash44-016 + +Bug-Reported-by: Luiz Angelo Daros de Luca <luizl...@gmail.com> +Bug-Reference-ID: <CAJq09z7G1-QnLyiUQA0DS=v3da_rthf8vdybbdzpe_w3kyd...@mail.gmail.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2016-09/msg00092.html + +Bug-Description: + +Bash can perform trap processing while reading command substitution output +instead of waiting until the command completes. + +Patch (apply with `patch -p0'): + +*** lib/sh/zread.c 2014-12-22 10:48:04.000000000 -0500 +--- lib/sh/zread.c 2016-09-29 15:21:36.000000000 -0400 +*************** +*** 38,42 **** +--- 38,45 ---- + #endif + ++ extern int executing_builtin; ++ + extern void check_signals_and_traps (void); ++ extern void check_signals (void); + extern int signal_is_trapped (int); + +*************** +*** 51,69 **** + ssize_t r; + +- #if 0 +- #if defined (HAVE_SIGINTERRUPT) +- if (signal_is_trapped (SIGCHLD)) +- siginterrupt (SIGCHLD, 1); +- #endif +- #endif +- + while ((r = read (fd, buf, len)) < 0 && errno == EINTR) +! check_signals_and_traps (); /* XXX - should it be check_signals()? */ +! +! #if 0 +! #if defined (HAVE_SIGINTERRUPT) +! siginterrupt (SIGCHLD, 0); +! #endif +! #endif + + return r; +--- 54,64 ---- + ssize_t r; + + while ((r = read (fd, buf, len)) < 0 && errno == EINTR) +! /* XXX - bash-5.0 */ +! /* We check executing_builtin and run traps here for backwards compatibility */ +! if (executing_builtin) +! check_signals_and_traps (); /* XXX - should it be check_signals()? */ +! else +! check_signals (); + + return r; +*** patchlevel.h 2016-06-22 14:51:03.000000000 -0400 +--- 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 15 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 16 + + #endif /* _PATCHLEVEL_H_ */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-4.4-patches/bash44-017 new/bash-4.4-patches/bash44-017 --- old/bash-4.4-patches/bash44-017 1970-01-01 01:00:00.000000000 +0100 +++ new/bash-4.4-patches/bash44-017 2018-01-30 08:17:06.135009915 +0100 @@ -0,0 +1,45 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.4 +Patch-ID: bash44-017 + +Bug-Reported-by: ZhangXiao <xiao.zh...@windriver.com> +Bug-Reference-ID: <58ad3eac.4020...@windriver.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2017-02/msg00061.html + +Bug-Description: + +There is a memory leak when `read -e' is used to read a line using readline. + +Patch (apply with `patch -p0'): + +*** ../bash-20170217/builtins/read.def 2017-01-02 16:53:02.000000000 -0500 +--- builtins/read.def 2017-02-22 09:43:14.000000000 -0500 +*************** +*** 691,694 **** +--- 691,699 ---- + CHECK_ALRM; + ++ #if defined (READLINE) ++ if (edit) ++ free (rlbuf); ++ #endif ++ + if (retval < 0) + { +*** patchlevel.h 2016-06-22 14:51:03.000000000 -0400 +--- 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 16 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 17 + + #endif /* _PATCHLEVEL_H_ */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-4.4-patches/bash44-018 new/bash-4.4-patches/bash44-018 --- old/bash-4.4-patches/bash44-018 1970-01-01 01:00:00.000000000 +0100 +++ new/bash-4.4-patches/bash44-018 2018-01-30 08:17:06.155009532 +0100 @@ -0,0 +1,48 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.4 +Patch-ID: bash44-018 + +Bug-Reported-by: Siteshwar Vashisht <svashi...@redhat.com> +Bug-Reference-ID: <1341922391.30876471.1501250355579.javamail.zim...@redhat.com> +Bug-Reference-URL: https://bugzilla.redhat.com/show_bug.cgi?id=1466737 + +Bug-Description: + +Under certain circumstances (e.g., reading from /dev/zero), read(2) will not +return -1 even when interrupted by a signal. The read builtin needs to check +for signals in this case. + +Patch (apply with `patch -p0'): + +*** ../bash-20170622/builtins/read.def 2017-06-17 18:45:20.000000000 -0400 +--- builtins/read.def 2017-06-30 11:09:26.000000000 -0400 +*************** +*** 611,615 **** + + CHECK_ALRM; +! + #if defined (READLINE) + } +--- 611,615 ---- + + CHECK_ALRM; +! QUIT; /* in case we didn't call check_signals() */ + #if defined (READLINE) + } +*** patchlevel.h 2016-06-22 14:51:03.000000000 -0400 +--- 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 17 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 18 + + #endif /* _PATCHLEVEL_H_ */