From patchwork Wed Aug 3 10:34:45 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Peter_M=C3=BCller?= X-Patchwork-Id: 5826 Return-Path: Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) client-signature ECDSA (P-384)) (Client CN "mail01.haj.ipfire.org", Issuer "R3" (verified OK)) by web04.haj.ipfire.org (Postfix) with ESMTPS id 4LySt05nldz3wwF for ; Wed, 3 Aug 2022 10:35:04 +0000 (UTC) Received: from mail02.haj.ipfire.org (mail02.haj.ipfire.org [172.28.1.201]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) client-signature ECDSA (P-384)) (Client CN "mail02.haj.ipfire.org", Issuer "R3" (verified OK)) by mail01.ipfire.org (Postfix) with ESMTPS id 4LySsy6hZhz5Td; Wed, 3 Aug 2022 10:35:02 +0000 (UTC) Received: from mail02.haj.ipfire.org (localhost [127.0.0.1]) by mail02.haj.ipfire.org (Postfix) with ESMTP id 4LySsy5lxlz2yPS; Wed, 3 Aug 2022 10:35:02 +0000 (UTC) Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) client-signature ECDSA (P-384)) (Client CN "mail01.haj.ipfire.org", Issuer "R3" (verified OK)) by mail02.haj.ipfire.org (Postfix) with ESMTPS id 4LySsx54VQz2yNd for ; Wed, 3 Aug 2022 10:35:01 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by mail01.ipfire.org (Postfix) with ESMTPSA id 4LySst6QT8zhH for ; Wed, 3 Aug 2022 10:34:58 +0000 (UTC) DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003ed25519; t=1659522900; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EBXJlae4awhc/WV+XPqN7U+mRf3hs8oXZG9gMC15scA=; b=gQlZ8WxFA+1+XJqhg2ZpkdicoPHACZ/0vup/H5krch7FUulv7Pzc6bM7pFl6emxk7QbYcl LgfJCUvRpL05o+Aw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003rsa; t=1659522900; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EBXJlae4awhc/WV+XPqN7U+mRf3hs8oXZG9gMC15scA=; b=tyvjOk8QJWF5RLbqaWE/18k5qMpXvCC/g0oX7nCBechLoTybIXuVu50LJEhn2IYGN1jAoA Non4OGojJ1ys7sQdXRPwQdrWSinInR/IB+TFEqLM+qIfxpb5BYtke6ApzLjeg3GfiykgSv 4NolrZhNmq+6k0xK9oNRSb++CU8QWzrvl8olPCBLIgNcSQ2Cv+hLGqfW6mjWiSNlBROcxx R28NlKXmD3R+vTd0TrS6ieSWoqCBMfgyXfpy+Uewz+1W3DY0he0xIc7Nu2JIHkLK6ycFQV 1RS8VaRSvM0oQRlcC+fydSs83I6V9xgCuHrqry2/aHNVDimmsVY0PGNSDbVt8w== Message-ID: Date: Wed, 3 Aug 2022 10:34:45 +0000 MIME-Version: 1.0 Content-Language: en-US To: "IPFire: Development" From: =?utf-8?q?Peter_M=C3=BCller?= Subject: [PATCH] Bash: Update to 5.1.16 X-BeenThere: development@lists.ipfire.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: IPFire development talk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: development-bounces@lists.ipfire.org Sender: "Development" This is a maintenance release that bundles all the previously added patches, which have therefore been deleted. Signed-off-by: Peter Müller Reviewed-by: Michael Tremer --- lfs/bash | 10 +- src/patches/bash/bash51-009 | 59 ----------- src/patches/bash/bash51-010 | 59 ----------- src/patches/bash/bash51-011 | 81 --------------- src/patches/bash/bash51-012 | 198 ------------------------------------ src/patches/bash/bash51-013 | 43 -------- src/patches/bash/bash51-014 | 48 --------- src/patches/bash/bash51-015 | 49 --------- src/patches/bash/bash51-016 | 64 ------------ 9 files changed, 3 insertions(+), 608 deletions(-) delete mode 100644 src/patches/bash/bash51-009 delete mode 100644 src/patches/bash/bash51-010 delete mode 100644 src/patches/bash/bash51-011 delete mode 100644 src/patches/bash/bash51-012 delete mode 100644 src/patches/bash/bash51-013 delete mode 100644 src/patches/bash/bash51-014 delete mode 100644 src/patches/bash/bash51-015 delete mode 100644 src/patches/bash/bash51-016 diff --git a/lfs/bash b/lfs/bash index f032972aa..ec8939aed 100644 --- a/lfs/bash +++ b/lfs/bash @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007-2021 IPFire Team # +# Copyright (C) 2007-2022 IPFire Team # # # # This program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # @@ -24,7 +24,7 @@ include Config -VER = 5.1.8 +VER = 5.1.16 THISAPP = bash-$(VER) DL_FILE = $(THISAPP).tar.gz @@ -53,7 +53,7 @@ objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_BLAKE2 = c61f70cef51b6576254a8cbdfbc69904c9e9ebefb061f03c719e35ac2aa3b497e654f78514ffd6e6c74cd546de917a6cfae1e643bf7b8aec88f154b2c97b9090 +$(DL_FILE)_BLAKE2 = 0bc53b24d9b95cd85e45196510104acf6ac6c980f68aedcc83c8409ce6a4682e92736a9cbe089ed92d74590e28918d0bee0e67c8e0f994bd37e45fad83f5b48e install : $(TARGET) @@ -87,10 +87,6 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) sed -e "s/filename, RTLD_LAZY/filename, RTLD_NOW/" \ -i $(DIR_APP)/builtins/enable.def - for i in $$(seq 9 16); do \ - cd $(DIR_APP) && patch -Np0 < $(DIR_SRC)/src/patches/bash/bash51-$$(printf "%03d" "$${i}") || exit 1; \ - done - cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/bash/bash-4.0-paths-1.patch cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/bash/bash-4.0-profile-1.patch cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/bash/bash-3.2-ssh_source_bash.patch diff --git a/src/patches/bash/bash51-009 b/src/patches/bash/bash51-009 deleted file mode 100644 index 2796c3b9b..000000000 --- a/src/patches/bash/bash51-009 +++ /dev/null @@ -1,59 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 5.1 -Patch-ID: bash51-009 - -Bug-Reported-by: Julien Moutinho -Bug-Reference-ID: <20211004035906.5kiobuzkpeckmvwg@sourcephile.fr> -Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2021-10/msg00022.html - -Bug-Description: - -The bash malloc implementation of malloc_usable_size() does not follow the -specification. This can cause library functions that use it to overwrite -memory bounds checking. - -Patch (apply with `patch -p0'): - -*** ../bash-5.1-patched/lib/malloc/malloc.c 2020-07-08 10:19:30.000000000 -0400 ---- lib/malloc/malloc.c 2021-10-05 16:10:55.000000000 -0400 -*************** -*** 1287,1297 **** - } - -! /* XXX - should we return 0 if ISFREE? */ -! maxbytes = binsize(p->mh_index); -! -! /* So the usable size is the maximum number of bytes in the bin less the -! malloc overhead */ -! maxbytes -= MOVERHEAD + MSLOP; -! return (maxbytes); - } - ---- 1358,1367 ---- - } - -! /* return 0 if ISFREE */ -! if (p->mh_alloc == ISFREE) -! return 0; -! -! /* Since we use bounds checking, the usable size is the last requested size. */ -! return (p->mh_nbytes); - } - -*** ../bash-5.1/patchlevel.h 2020-06-22 14:51:03.000000000 -0400 ---- patchlevel.h 2020-10-01 11:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 8 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 9 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/src/patches/bash/bash51-010 b/src/patches/bash/bash51-010 deleted file mode 100644 index cfe6fa46b..000000000 --- a/src/patches/bash/bash51-010 +++ /dev/null @@ -1,59 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 5.1 -Patch-ID: bash51-010 - -Bug-Reported-by: Jonas Alfredsson -Bug-Reference-ID: -Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2021-05/msg00059.html - -Bug-Description: - -If `wait -n' is interrupted by a trapped signal other than SIGINT, it does -not completely clean up state, and that can prevent subsequent calls to -`wait -n' from working correctly. - -Patch (apply with `patch -p0'): - -*** ../bash-5.1-patched/builtins/wait.def 2020-12-16 17:13:12.000000000 -0500 ---- builtins/wait.def 2021-11-17 10:25:15.000000000 -0500 -*************** -*** 112,116 **** - WORD_LIST *list; - { -! int status, code, opt, nflag, wflags; - char *vname; - SHELL_VAR *pidvar; ---- 112,117 ---- - WORD_LIST *list; - { -! int status, code, opt, nflag; -! volatile int wflags; - char *vname; - SHELL_VAR *pidvar; -*************** -*** 181,184 **** ---- 188,193 ---- - status = 128 + wait_signal_received; - wait_sigint_cleanup (); -+ if (wflags & JWAIT_WAITING) -+ unset_waitlist (); - WAIT_RETURN (status); - } - -*** ../bash-5.1/patchlevel.h 2020-06-22 14:51:03.000000000 -0400 ---- patchlevel.h 2020-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_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 10 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/src/patches/bash/bash51-011 b/src/patches/bash/bash51-011 deleted file mode 100644 index 655c7ec8b..000000000 --- a/src/patches/bash/bash51-011 +++ /dev/null @@ -1,81 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 5.1 -Patch-ID: bash51-011 - -Bug-Reported-by: Alex fxmbsw7 Ratchev -Bug-Reference-ID: -Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2020-11/msg00064.html - -Bug-Description: - -When reading a compound assignment, and running it through the parser to -split it into words, we need to save and restore any alias we're currently -expanding. - -Patch (apply with `patch -p0'): - -*** ../bash-5.1-patched/parse.y 2020-11-28 12:10:06.000000000 -0500 ---- parse.y 2021-10-13 11:04:27.000000000 -0400 -*************** -*** 6494,6501 **** - - push_stream (1); -- #if 0 /* TAG: bash-5.2 Alex fxmbsw7 Ratchev 11/17/2020 */ - if (ea = expanding_alias ()) - parser_save_alias (); -- #endif - last_read_token = WORD; /* WORD to allow reserved words here */ - current_command_line_count = 0; ---- 6494,6499 ---- -*************** -*** 6532,6539 **** - pop_stream (); - -- #if 0 /* TAG: bash-5.2 */ - if (ea) - parser_restore_alias (); -- #endif - - #if defined (HISTORY) ---- 6530,6535 ---- -*** ../bash-5.1-patched/y.tab.c 2020-11-28 12:17:19.000000000 -0500 ---- y.tab.c 2021-11-17 10:47:35.000000000 -0500 -*************** -*** 8788,8795 **** - - push_stream (1); -- #if 0 /* TAG: bash-5.2 Alex fxmbsw7 Ratchev 11/17/2020 */ - if (ea = expanding_alias ()) - parser_save_alias (); -- #endif - last_read_token = WORD; /* WORD to allow reserved words here */ - current_command_line_count = 0; ---- 8777,8782 ---- -*************** -*** 8826,8833 **** - pop_stream (); - -- #if 0 /* TAG: bash-5.2 */ - if (ea) - parser_restore_alias (); -- #endif - - #if defined (HISTORY) ---- 8813,8818 ---- -*** ../bash-5.1/patchlevel.h 2020-06-22 14:51:03.000000000 -0400 ---- patchlevel.h 2020-10-01 11:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 10 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 11 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/src/patches/bash/bash51-012 b/src/patches/bash/bash51-012 deleted file mode 100644 index 222491884..000000000 --- a/src/patches/bash/bash51-012 +++ /dev/null @@ -1,198 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 5.1 -Patch-ID: bash51-012 - -Bug-Reported-by: Nikolay Borisov -Bug-Reference-ID: <1a715205-06ce-413b-c1c0-2f5639ce06c0@suse.com> -Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2020-11/msg00091.html - -Bug-Description: - -There is a possible race condition that arises when a child process receives -a signal trapped by the parent before it can reset the signal dispositions. -The child process is not supposed to trap the signal in this circumstance. - -Patch (apply with `patch -p0'): - -*** ../bash-20201118/command.h 2020-08-14 15:04:39.000000000 -0400 ---- command.h 2020-11-27 15:18:02.000000000 -0500 -*************** -*** 125,128 **** ---- 125,129 ---- - #define SUBSHELL_COPROC 0x40 /* subshell from a coproc pipeline */ - #define SUBSHELL_RESETTRAP 0x80 /* subshell needs to reset trap strings on first call to trap */ -+ #define SUBSHELL_IGNTRAP 0x100 /* subshell should reset trapped signals from trap_handler */ - - /* A structure which represents a word. */ - -*** ../bash-20201118/execute_cmd.c 2020-11-23 14:16:48.000000000 -0500 ---- execute_cmd.c 2020-11-27 16:43:25.000000000 -0500 -*************** -*** 1548,1551 **** ---- 1548,1554 ---- - reset_signal_handlers (); - subshell_environment |= SUBSHELL_RESETTRAP; -+ /* Note that signal handlers have been reset, so we should no longer -+ reset the handler and resend trapped signals to ourselves. */ -+ subshell_environment &= ~SUBSHELL_IGNTRAP; - - /* We are in a subshell, so forget that we are running a trap handler or -*************** -*** 4321,4325 **** - cmdflags |= CMD_NO_FORK; - -! subshell_environment = SUBSHELL_FORK; /* XXX */ - if (pipe_in != NO_PIPE || pipe_out != NO_PIPE) - subshell_environment |= SUBSHELL_PIPE; ---- 4324,4329 ---- - cmdflags |= CMD_NO_FORK; - -! /* We redo some of what make_child() does with SUBSHELL_IGNTRAP */ -! subshell_environment = SUBSHELL_FORK|SUBSHELL_IGNTRAP; /* XXX */ - if (pipe_in != NO_PIPE || pipe_out != NO_PIPE) - subshell_environment |= SUBSHELL_PIPE; -*************** -*** 4575,4578 **** ---- 4580,4584 ---- - reset_signal_handlers (); - subshell_environment |= SUBSHELL_RESETTRAP; -+ subshell_environment &= ~SUBSHELL_IGNTRAP; - - if (async) -*************** -*** 5515,5518 **** ---- 5521,5525 ---- - /* Cancel traps, in trap.c. */ - restore_original_signals (); -+ subshell_environment &= ~SUBSHELL_IGNTRAP; - - #if defined (JOB_CONTROL) - -*** ../bash-20201118/jobs.c 2020-08-04 10:17:39.000000000 -0400 ---- jobs.c 2020-11-27 16:39:56.000000000 -0500 -*************** -*** 2218,2221 **** ---- 2218,2223 ---- - pid_t mypid; - -+ subshell_environment |= SUBSHELL_IGNTRAP; -+ - /* If this ends up being changed to modify or use `command' in the - child process, go back and change callers who free `command' in -diff -rC 2 ../bash-20201118/nojobs.c nojobs.c -*** ../bash-20201118/nojobs.c 2020-07-08 10:11:25.000000000 -0400 ---- nojobs.c 2020-11-27 16:38:36.000000000 -0500 -*************** -*** 576,579 **** ---- 576,581 ---- - #endif - -+ subshell_environment |= SUBSHELL_IGNTRAP; -+ - default_tty_job_signals (); - } - -*** ../bash-20201118/sig.c 2020-11-23 13:22:17.000000000 -0500 ---- sig.c 2020-11-28 10:21:43.000000000 -0500 -*************** -*** 56,60 **** - #endif - -! extern void initialize_siglist (); - - #if !defined (JOB_CONTROL) ---- 56,61 ---- - #endif - -! extern void initialize_siglist PARAMS((void)); -! extern void set_original_signal PARAMS((int, SigHandler *)); - - #if !defined (JOB_CONTROL) -*************** -*** 256,259 **** ---- 257,267 ---- - XHANDLER(i) = oact.sa_handler; - XSAFLAGS(i) = oact.sa_flags; -+ -+ #if 0 -+ set_original_signal (XSIG(i), XHANDLER(i)); /* optimization */ -+ #else -+ set_original_signal (XSIG(i), act.sa_handler); /* optimization */ -+ #endif -+ - /* Don't do anything with signals that are ignored at shell entry - if the shell is not interactive. */ - -*** ../bash-20201118/subst.c 2020-11-16 10:33:15.000000000 -0500 ---- subst.c 2020-11-27 16:07:00.000000000 -0500 -*************** -*** 5952,5955 **** ---- 5952,5956 ---- - /* Cancel traps, in trap.c. */ - restore_original_signals (); /* XXX - what about special builtins? bash-4.2 */ -+ subshell_environment &= ~SUBSHELL_IGNTRAP; - QUIT; /* catch any interrupts we got post-fork */ - setup_async_signals (); -*************** -*** 6383,6386 **** ---- 6384,6388 ---- - QUIT; /* catch any interrupts we got post-fork */ - subshell_environment |= SUBSHELL_RESETTRAP; -+ subshell_environment &= ~SUBSHELL_IGNTRAP; - } - - -diff -rC 2 ../bash-20201118/trap.c trap.c -*** ../bash-20201118/trap.c 2020-11-28 12:04:07.000000000 -0500 ---- trap.c 2020-11-28 10:22:10.000000000 -0500 -*************** -*** 482,485 **** ---- 482,511 ---- - } - -+ /* This means we're in a subshell, but have not yet reset the handler for -+ trapped signals. We're not supposed to execute the trap in this situation; -+ we should restore the original signal and resend the signal to ourselves -+ to preserve the Posix "signal traps that are not being ignored shall be -+ set to the default action" semantics. */ -+ if ((subshell_environment & SUBSHELL_IGNTRAP) && trap_list[sig] != (char *)IGNORE_SIG) -+ { -+ sigset_t mask; -+ -+ /* Paranoia */ -+ if (original_signals[sig] == IMPOSSIBLE_TRAP_HANDLER) -+ original_signals[sig] = SIG_DFL; -+ -+ restore_signal (sig); -+ -+ /* Make sure we let the signal we just caught through */ -+ sigemptyset (&mask); -+ sigprocmask (SIG_SETMASK, (sigset_t *)NULL, &mask); -+ sigdelset (&mask, sig); -+ sigprocmask (SIG_SETMASK, &mask, (sigset_t *)NULL); -+ -+ kill (getpid (), sig); -+ -+ SIGRETURN (0); -+ } -+ - if ((sig >= NSIG) || - (trap_list[sig] == (char *)DEFAULT_SIG) || - -*** ../bash-5.1/patchlevel.h 2020-06-22 14:51:03.000000000 -0400 ---- patchlevel.h 2020-10-01 11:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 11 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 12 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/src/patches/bash/bash51-013 b/src/patches/bash/bash51-013 deleted file mode 100644 index f2413a58d..000000000 --- a/src/patches/bash/bash51-013 +++ /dev/null @@ -1,43 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 5.1 -Patch-ID: bash51-013 - -Bug-Reported-by: Anders Kaseorg -Bug-Reference-ID: -Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2021-11/msg00025.html - -Bug-Description: - -Bash did not always perform tilde expansion following an unquoted colon on -the rhs of an assignment statement in posix mode. - -Patch (apply with `patch -p0'): - -*** ../bash-20211028/subst.c 2021-10-18 16:09:58.000000000 -0400 ---- subst.c 2021-11-30 11:19:47.000000000 -0500 -*************** -*** 3826,3829 **** ---- 3826,3830 ---- - td.flags = W_ASSIGNRHS; - #endif -+ td.flags |= (W_NOGLOB|W_TILDEEXP); - td.word = savestring (string); - value = call_expand_word_internal (&td, quoted, 0, (int *)NULL, (int *)NULL); - -*** ../bash-5.1/patchlevel.h 2020-06-22 14:51:03.000000000 -0400 ---- patchlevel.h 2020-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 --git a/src/patches/bash/bash51-014 b/src/patches/bash/bash51-014 deleted file mode 100644 index cd8df23ab..000000000 --- a/src/patches/bash/bash51-014 +++ /dev/null @@ -1,48 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 5.1 -Patch-ID: bash51-014 - -Bug-Reported-by: platon7pronko@gmail.com -Bug-Reference-ID: -Bug-Reference-URL: https://savannah.gnu.org/patch/?10035 - -Bug-Description: - -Bash may produce corrupted input if a multibyte character spans a 512-byte -boundary while reading the output of a command substitution. - -Patch (apply with `patch -p0'): - -*** ../bash-20210217/subst.c 2021-02-03 10:32:08.000000000 -0500 ---- subst.c 2021-03-01 16:47:52.000000000 -0500 -*************** -*** 6243,6247 **** - /* punt on the hard case for now */ - memset (&ps, '\0', sizeof (mbstate_t)); -! mblen = mbrtowc (&wc, bufp-1, bufn+1, &ps); - if (MB_INVALIDCH (mblen) || mblen == 0 || mblen == 1) - istring[istring_index++] = c; ---- 6243,6247 ---- - /* punt on the hard case for now */ - memset (&ps, '\0', sizeof (mbstate_t)); -! mblen = mbrtowc (&wc, bufp-1, bufn, &ps); - if (MB_INVALIDCH (mblen) || mblen == 0 || mblen == 1) - istring[istring_index++] = c; - -*** ../bash-5.1/patchlevel.h 2020-06-22 14:51:03.000000000 -0400 ---- patchlevel.h 2020-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 --git a/src/patches/bash/bash51-015 b/src/patches/bash/bash51-015 deleted file mode 100644 index 5ae65811a..000000000 --- a/src/patches/bash/bash51-015 +++ /dev/null @@ -1,49 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 5.1 -Patch-ID: bash51-015 - -Bug-Reported-by: Volodymyr Prodan -Bug-Reference-ID: -Bug-Reference-URL: https://savannah.gnu.org/patch/?10076 - -Bug-Description: - -Patch (apply with `patch -p0'): - -There are some characters (e.g., cyrillic) that can't be displayed using -certain single-byte encodings (e.g., cp1251) because the negative signed -int is interpreted as EOF and not displayed. - -*** ../bash-20210524/lib/readline/display.c 2021-03-16 18:12:20.000000000 -0400 ---- lib/readline/display.c 2021-06-07 16:53:08.000000000 -0400 -*************** -*** 1599,1603 **** - - for (cur_face = FACE_NORMAL, i = 0; i < n; i++) -! putc_face (str[i], face[i], &cur_face); - putc_face (EOF, FACE_NORMAL, &cur_face); - } ---- 1599,1603 ---- - - for (cur_face = FACE_NORMAL, i = 0; i < n; i++) -! putc_face ((unsigned char) str[i], face[i], &cur_face); - putc_face (EOF, FACE_NORMAL, &cur_face); - } - -*** ../bash-5.1/patchlevel.h 2020-06-22 14:51:03.000000000 -0400 ---- patchlevel.h 2020-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 --git a/src/patches/bash/bash51-016 b/src/patches/bash/bash51-016 deleted file mode 100644 index 4694498b2..000000000 --- a/src/patches/bash/bash51-016 +++ /dev/null @@ -1,64 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 5.1 -Patch-ID: bash51-016 - -Bug-Reported-by: Vincent Menegaux -Bug-Reference-ID: -Bug-Reference-URL: https://savannah.gnu.org/patch/?10070 - -Bug-Description: - -Multiple `!' tokens should toggle negation of an expression in a [[ -conditional command, instead of simply negating the expression. - -Patch (apply with `patch -p0'): - -*** ../bash-20210515/parse.y 2021-04-21 15:32:50.000000000 -0400 ---- parse.y 2021-05-24 11:53:30.000000000 -0400 -*************** -*** 4797,4801 **** - term = cond_term (); - if (term) -! term->flags |= CMD_INVERT_RETURN; - } - else if (tok == WORD && yylval.word->word[0] == '-' && yylval.word->word[1] && yylval.word->word[2] == 0 && test_unop (yylval.word->word)) ---- 4797,4801 ---- - term = cond_term (); - if (term) -! term->flags ^= CMD_INVERT_RETURN; - } - else if (tok == WORD && yylval.word->word[0] == '-' && yylval.word->word[1] && yylval.word->word[2] == 0 && test_unop (yylval.word->word)) - -*** ../bash-20210515/y.tab.c 2021-05-14 15:50:41.000000000 -0400 ---- y.tab.c 2021-05-24 16:35:55.000000000 -0400 -*************** -*** 7091,7095 **** - term = cond_term (); - if (term) -! term->flags |= CMD_INVERT_RETURN; - } - else if (tok == WORD && yylval.word->word[0] == '-' && yylval.word->word[1] && yylval.word->word[2] == 0 && test_unop (yylval.word->word)) ---- 7091,7095 ---- - term = cond_term (); - if (term) -! term->flags ^= CMD_INVERT_RETURN; - } - else if (tok == WORD && yylval.word->word[0] == '-' && yylval.word->word[1] && yylval.word->word[2] == 0 && test_unop (yylval.word->word)) - -*** ../bash-5.1/patchlevel.h 2020-06-22 14:51:03.000000000 -0400 ---- patchlevel.h 2020-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_ */