Files
packages/utils/bash/patches/000-bash-5.3-patch-1.patch
Wei-Ting Yang 4a02dcb1c3 bash: update to 5.3 patch level 9
- Fix posix-mode issue with "wait -n", where it can return process IDs
  outside the requested set
- Do not try to use shm_open, there is too much variance in behavior
  across systems
- Remove internal quoting that causes failures when expanding nested
  array subscripts in an arithmetic context
- Fix issue with source when read(2) returns fewer characters than
  fstat(2) says are available
- Fix crash when restoring default disposition for SIGINT in
  asynchronous subshell
- Fix issues with range expressions and non-ascii characters in glob
  patterns when globasciiranges is enabled
- Fix issue where nofork command substitutions can affect
  redirections in the calling shell
- Fix issue with calling mbrtowc too much when translating
  ansic-single-quoted strings
- Fix crash when interrupting reverse i-search with ^C

Signed-off-by: Wei-Ting Yang <williamatcg@gmail.com>
2026-01-18 07:19:05 +02:00

28 lines
1016 B
Diff

From 21fee8ebcf03858a4c14b605095e89333ba159ba Mon Sep 17 00:00:00 2001
From: Chet Ramey <chet.ramey@case.edu>
Date: Wed, 23 Jul 2025 15:42:17 -0400
Subject: Bash-5.3 patch 1: fix posix-mode issue with "wait -n", where it can
return process IDs outside the requested set
--- a/jobs.c
+++ b/jobs.c
@@ -3538,7 +3538,7 @@ return_procsub:
/* There aren't any dead jobs in the jobs table, but let's see if there's
one in bgpids. We can do this in posix mode because we'll remove any
one we find from the table, preserving existing semantics. */
- if (posixly_correct && (t = bgp_findone ()))
+ if (posixly_correct && (flags & JWAIT_WAITING) == 0 && (t = bgp_findone ()))
{
pid = t->pid;
r = t->status;
--- a/patchlevel.h
+++ b/patchlevel.h
@@ -25,6 +25,6 @@
regexp `^#define[ ]*PATCHLEVEL', since that's what support/mkversion.sh
looks for to find the patch level (for the sccs version string). */
-#define PATCHLEVEL 0
+#define PATCHLEVEL 1
#endif /* _PATCHLEVEL_H_ */