From b826bddf19d9d64ce5ebca16f2f6e39e5bbecddc Mon Sep 17 00:00:00 2001 From: OBS User unknown Date: Sat, 12 Jan 2008 01:40:35 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/bash?expand=0&rev=15 --- bash-3.2-memleak.patch | 42 +++++++++++++++++++++++++++++++++++++++ bash-3.2-sigrestart.patch | 30 ++++++++++++++++++++++++++++ bash-rpmlintrc | 1 + bash.changes | 11 ++++++++++ bash.spec | 21 ++++++++++++++------ 5 files changed, 99 insertions(+), 6 deletions(-) create mode 100644 bash-3.2-memleak.patch create mode 100644 bash-3.2-sigrestart.patch diff --git a/bash-3.2-memleak.patch b/bash-3.2-memleak.patch new file mode 100644 index 00000000..d1d6b9d0 --- /dev/null +++ b/bash-3.2-memleak.patch @@ -0,0 +1,42 @@ +--- + builtins/read.def | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +Index: builtins/read.def +=================================================================== +--- builtins/read.def.orig 2007-11-10 01:20:45.000000000 +0100 ++++ builtins/read.def 2007-11-10 02:03:38.000000000 +0100 +@@ -134,7 +134,7 @@ read_builtin (list) + intmax_t intval; + char c; + char *input_string, *orig_input_string, *ifs_chars, *prompt, *arrayname; +- char *e, *t, *t1, *ps2; ++ char *e, *t, *t1, *t2, *ps2; + struct stat tsb; + SHELL_VAR *var; + #if defined (ARRAY_VARS) +@@ -677,12 +677,14 @@ add_char: + if (*input_string) + { + t1 = input_string; +- t = get_word_from_string (&input_string, ifs_chars, &e); ++ t2 = get_word_from_string (&input_string, ifs_chars, &e); + if (*input_string == 0) +- input_string = t; ++ input_string = t2; + else + input_string = strip_trailing_ifs_whitespace (t1, ifs_chars, saw_escape); + } ++ else ++ t2 = NULL; + #endif + + if (saw_escape) +@@ -696,6 +698,7 @@ add_char: + stupidly_hack_special_variables (list->word->word); + if (var) + VUNSETATTR (var, att_invisible); ++ FREE (t2); + xfree (orig_input_string); + + return (retval); diff --git a/bash-3.2-sigrestart.patch b/bash-3.2-sigrestart.patch new file mode 100644 index 00000000..b3fbc469 --- /dev/null +++ b/bash-3.2-sigrestart.patch @@ -0,0 +1,30 @@ +--- jobs.c ++++ jobs.c 2008-01-08 19:10:15.575513024 +0100 +@@ -2344,7 +2344,11 @@ wait_for (pid) + act.sa_handler = SIG_DFL; + sigemptyset (&act.sa_mask); + sigemptyset (&oact.sa_mask); ++# if defined(MUST_REINSTALL_SIGHANDLERS) + act.sa_flags = 0; ++# else ++ act.sa_flags = SA_RESTART; ++# endif + sigaction (SIGCHLD, &act, &oact); + # endif + queue_sigchld = 1; +--- sig.c ++++ sig.c 2008-01-08 19:09:14.823789614 +0100 +@@ -586,6 +586,13 @@ set_signal_handler (sig, handler) + act.sa_flags |= SA_INTERRUPT; /* XXX */ + else + act.sa_flags |= SA_RESTART; /* XXX */ ++#else ++# if !defined(MUST_REINSTALL_SIGHANDLERS) ++ if (sig == SIGCHLD) ++ act.sa_flags |= SA_RESTART; /* XXX */ ++ if (sig == SIGWINCH) ++ act.sa_flags |= SA_RESTART; /* XXX */ ++# endif + #endif + sigemptyset (&act.sa_mask); + sigemptyset (&oact.sa_mask); diff --git a/bash-rpmlintrc b/bash-rpmlintrc index 926e0e7a..db5425f0 100644 --- a/bash-rpmlintrc +++ b/bash-rpmlintrc @@ -1 +1,2 @@ addFilter(".*hidden-file-or-dir.*/etc/skel/\..*") +addFilter(".*zero-length.*/etc/skel/\..*") diff --git a/bash.changes b/bash.changes index 00266acd..d1445047 100644 --- a/bash.changes +++ b/bash.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Tue Jan 8 19:23:12 CET 2008 - werner@suse.de + +- Restart the signal handler for SIGCHLD if not already done + within the signal handler its self (may help for bug #345441) + +------------------------------------------------------------------- +Mon Jan 7 20:43:39 CET 2008 - schwab@suse.de + +- Fix memory leak in read builtin. + ------------------------------------------------------------------- Fri Dec 7 10:16:43 CET 2007 - werner@suse.de diff --git a/bash.spec b/bash.spec index 6257e822..2469418d 100644 --- a/bash.spec +++ b/bash.spec @@ -1,7 +1,7 @@ # # spec file for package bash (Version 3.2) # -# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # @@ -19,7 +19,7 @@ Group: System/Shells Recommends: bash-doc = %bash_vers AutoReqProv: on Version: 3.2 -Release: 72 +Release: 75 Summary: The GNU Bourne-Again Shell Url: http://www.gnu.org/software/bash/bash.html Source0: bash-%{bash_vers}.tar.bz2 @@ -43,6 +43,8 @@ Patch9: bash-3.1-extended_quote.patch Patch10: bash-3.2-printf.patch Patch11: bash-3.1-loadables.dif Patch12: bash-3.2-valgrind.patch +Patch13: bash-3.2-memleak.patch +Patch14: bash-3.2-sigrestart.patch Patch20: readline-%{rl_vers}.dif Patch21: readline-4.3-input.dif Patch22: readline-5.2-wrap.patch @@ -73,7 +75,7 @@ Group: Documentation/Man Provides: bash:%{_infodir}/bash.info.gz PreReq: %install_info_prereq Version: 3.2 -Release: 31 +Release: 34 AutoReqProv: on %description -n bash-doc @@ -92,7 +94,7 @@ Summary: The Readline Library Group: System/Libraries Provides: bash:/%{_lib}/libreadline.so.5 Version: 5.2 -Release: 31 +Release: 34 Recommends: readline-doc = %{version} Provides: readline = 5.2 Obsoletes: readline <= 5.2 @@ -115,7 +117,7 @@ Summary: Include Files and Libraries mandatory for Development. Group: Development/Libraries/C and C++ Provides: bash:%{_libdir}/libreadline.a Version: 5.2 -Release: 72 +Release: 75 Requires: libreadline5 = %{version} Requires: ncurses-devel Requires: /%{_lib}/libhistory.so.%{rl_vers} @@ -140,7 +142,7 @@ Group: System/Libraries Provides: readline:%{_infodir}/readline.info.gz PreReq: %install_info_prereq Version: 5.2 -Release: 31 +Release: 34 AutoReqProv: on %description -n readline-doc @@ -174,6 +176,8 @@ unset p %patch10 -p0 -b .printf %patch11 -p0 -b .plugins %patch12 -p0 -b .valgrind +%patch13 -p0 -b .memleak +%patch14 -p0 -b .sigrestart for p in ../readline-%{rl_vers}-patches/*; do test -e $p || break case "${p##*/}" in @@ -409,6 +413,11 @@ EOF %doc %{_defaultdocdir}/readline/ %changelog +* Tue Jan 08 2008 - werner@suse.de +- Restart the signal handler for SIGCHLD if not already done + within the signal handler its self (may help for bug #345441) +* Mon Jan 07 2008 - schwab@suse.de +- Fix memory leak in read builtin. * Fri Dec 07 2007 - werner@suse.de - Add skel files .bashrc, bash_history, and .profile from aaa_skel * Tue Dec 04 2007 - werner@suse.de