bash-5.1-p8
This commit is contained in:
@@ -0,0 +1,100 @@
|
||||
BASH PATCH REPORT
|
||||
=================
|
||||
|
||||
Bash-Release: 5.1
|
||||
Patch-ID: bash51-005
|
||||
|
||||
Bug-Reported-by: Alexander Mescheryakov <alexander.s.m@gmail.com>,
|
||||
konsolebox <konsolebox@gmail.com>
|
||||
Bug-Reference-ID: <5ffd7f3d.1c69fb81.dee25.166c@mx.google.com>,
|
||||
<CAJnmqwaVs7M6NBqZzcHy5c2+yHkTEg7p+o8ZWuA7sN+6N1q4CA@mail.gmail.com>
|
||||
Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2021-01/msg00082.html,
|
||||
https://lists.gnu.org/archive/html/bug-bash/2021-04/msg00160.html
|
||||
|
||||
Bug-Description:
|
||||
|
||||
Fix two memory leaks when assigning arrays using compound assignment syntax.
|
||||
|
||||
Patch (apply with `patch -p0'):
|
||||
|
||||
*** ../bash-5.1-patched/subst.c 2020-12-16 17:01:32.000000000 -0500
|
||||
--- subst.c 2021-01-24 17:48:40.000000000 -0500
|
||||
***************
|
||||
*** 11674,11677 ****
|
||||
--- 11674,11679 ----
|
||||
|
||||
value = string_list (l);
|
||||
+ dispose_words (l);
|
||||
+
|
||||
wlen = STRLEN (value);
|
||||
|
||||
*** ../bash-5.1-patched/arrayfunc.c 2020-12-16 17:01:32.000000000 -0500
|
||||
--- arrayfunc.c 2021-04-19 16:43:09.000000000 -0400
|
||||
***************
|
||||
*** 565,574 ****
|
||||
WORD_LIST *list;
|
||||
char *akey, *aval, *k, *v;
|
||||
- int free_aval;
|
||||
|
||||
for (list = nlist; list; list = list->next)
|
||||
{
|
||||
- free_aval = 0;
|
||||
-
|
||||
k = list->word->word;
|
||||
v = list->next ? list->next->word->word : 0;
|
||||
--- 565,571 ----
|
||||
***************
|
||||
*** 578,583 ****
|
||||
|
||||
akey = expand_assignment_string_to_string (k, 0);
|
||||
- aval = expand_assignment_string_to_string (v, 0);
|
||||
-
|
||||
if (akey == 0 || *akey == 0)
|
||||
{
|
||||
--- 575,578 ----
|
||||
***************
|
||||
*** 586,599 ****
|
||||
continue;
|
||||
}
|
||||
if (aval == 0)
|
||||
{
|
||||
aval = (char *)xmalloc (1);
|
||||
aval[0] = '\0'; /* like do_assignment_internal */
|
||||
- free_aval = 1;
|
||||
}
|
||||
|
||||
bind_assoc_var_internal (var, h, akey, aval, flags);
|
||||
! if (free_aval)
|
||||
! free (aval);
|
||||
}
|
||||
}
|
||||
--- 581,594 ----
|
||||
continue;
|
||||
}
|
||||
+
|
||||
+ aval = expand_assignment_string_to_string (v, 0);
|
||||
if (aval == 0)
|
||||
{
|
||||
aval = (char *)xmalloc (1);
|
||||
aval[0] = '\0'; /* like do_assignment_internal */
|
||||
}
|
||||
|
||||
bind_assoc_var_internal (var, h, akey, aval, flags);
|
||||
! free (aval);
|
||||
}
|
||||
}
|
||||
*** ../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 4
|
||||
|
||||
#endif /* _PATCHLEVEL_H_ */
|
||||
--- 26,30 ----
|
||||
looks for to find the patch level (for the sccs version string). */
|
||||
|
||||
! #define PATCHLEVEL 5
|
||||
|
||||
#endif /* _PATCHLEVEL_H_ */
|
||||
@@ -0,0 +1,48 @@
|
||||
BASH PATCH REPORT
|
||||
=================
|
||||
|
||||
Bash-Release: 5.1
|
||||
Patch-ID: bash51-006
|
||||
|
||||
Bug-Reported-by: oguzismailuysal@gmail.com
|
||||
Bug-Reference-ID: <CAH7i3LoY7C+pV_yG2LxwPNtAw3kiRkxmB4KcL1dTsih0u2BdKA@mail.gmail.com>
|
||||
Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2020-12/msg00108.html
|
||||
|
||||
Bug-Description:
|
||||
|
||||
Make sure child processes forked to run command substitutions are in the
|
||||
proper process group.
|
||||
|
||||
Patch (apply with `patch -p0'):
|
||||
|
||||
*** ../bash-5.1-patched/subst.c 2020-12-16 17:01:32.000000000 -0500
|
||||
--- subst.c 2020-12-25 19:20:25.000000000 -0500
|
||||
***************
|
||||
*** 6413,6416 ****
|
||||
--- 6413,6423 ----
|
||||
interactive = 0;
|
||||
|
||||
+ #if defined (JOB_CONTROL)
|
||||
+ /* Invariant: in child processes started to run command substitutions,
|
||||
+ pipeline_pgrp == shell_pgrp. Other parts of the shell assume this. */
|
||||
+ if (pipeline_pgrp > 0 && pipeline_pgrp != shell_pgrp)
|
||||
+ shell_pgrp = pipeline_pgrp;
|
||||
+ #endif
|
||||
+
|
||||
set_sigint_handler (); /* XXX */
|
||||
|
||||
*** ../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 5
|
||||
|
||||
#endif /* _PATCHLEVEL_H_ */
|
||||
--- 26,30 ----
|
||||
looks for to find the patch level (for the sccs version string). */
|
||||
|
||||
! #define PATCHLEVEL 6
|
||||
|
||||
#endif /* _PATCHLEVEL_H_ */
|
||||
@@ -0,0 +1,95 @@
|
||||
BASH PATCH REPORT
|
||||
=================
|
||||
|
||||
Bash-Release: 5.1
|
||||
Patch-ID: bash51-007
|
||||
|
||||
Bug-Reported-by: Tom Tromey <tom@tromey.com>
|
||||
Bug-Reference-ID: <875z3u9fd0.fsf@tromey.com>
|
||||
Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-readline/2021-01/msg00009.html
|
||||
|
||||
Bug-Description:
|
||||
|
||||
The code to check readline versions in an inputrc file had the sense of the
|
||||
comparisons reversed.
|
||||
|
||||
Patch (apply with `patch -p0'):
|
||||
|
||||
*** ../bash-5.1-patched/lib/readline/bind.c 2020-10-26 10:03:14.000000000 -0400
|
||||
--- lib/readline/bind.c 2021-01-18 16:38:48.000000000 -0500
|
||||
***************
|
||||
*** 1235,1239 ****
|
||||
else if (_rl_strnicmp (args, "version", 7) == 0)
|
||||
{
|
||||
! int rlversion, versionarg, op, previ, major, minor;
|
||||
|
||||
_rl_parsing_conditionalized_out = 1;
|
||||
--- 1235,1239 ----
|
||||
else if (_rl_strnicmp (args, "version", 7) == 0)
|
||||
{
|
||||
! int rlversion, versionarg, op, previ, major, minor, opresult;
|
||||
|
||||
_rl_parsing_conditionalized_out = 1;
|
||||
***************
|
||||
*** 1295,1316 ****
|
||||
{
|
||||
case OP_EQ:
|
||||
! _rl_parsing_conditionalized_out = rlversion == versionarg;
|
||||
break;
|
||||
case OP_NE:
|
||||
! _rl_parsing_conditionalized_out = rlversion != versionarg;
|
||||
break;
|
||||
case OP_GT:
|
||||
! _rl_parsing_conditionalized_out = rlversion > versionarg;
|
||||
break;
|
||||
case OP_GE:
|
||||
! _rl_parsing_conditionalized_out = rlversion >= versionarg;
|
||||
break;
|
||||
case OP_LT:
|
||||
! _rl_parsing_conditionalized_out = rlversion < versionarg;
|
||||
break;
|
||||
case OP_LE:
|
||||
! _rl_parsing_conditionalized_out = rlversion <= versionarg;
|
||||
break;
|
||||
}
|
||||
}
|
||||
/* Check to see if the first word in ARGS is the same as the
|
||||
--- 1295,1317 ----
|
||||
{
|
||||
case OP_EQ:
|
||||
! opresult = rlversion == versionarg;
|
||||
break;
|
||||
case OP_NE:
|
||||
! opresult = rlversion != versionarg;
|
||||
break;
|
||||
case OP_GT:
|
||||
! opresult = rlversion > versionarg;
|
||||
break;
|
||||
case OP_GE:
|
||||
! opresult = rlversion >= versionarg;
|
||||
break;
|
||||
case OP_LT:
|
||||
! opresult = rlversion < versionarg;
|
||||
break;
|
||||
case OP_LE:
|
||||
! opresult = rlversion <= versionarg;
|
||||
break;
|
||||
}
|
||||
+ _rl_parsing_conditionalized_out = 1 - opresult;
|
||||
}
|
||||
/* Check to see if the first word in ARGS is the same as the
|
||||
*** ../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 6
|
||||
|
||||
#endif /* _PATCHLEVEL_H_ */
|
||||
--- 26,30 ----
|
||||
looks for to find the patch level (for the sccs version string). */
|
||||
|
||||
! #define PATCHLEVEL 7
|
||||
|
||||
#endif /* _PATCHLEVEL_H_ */
|
||||
@@ -0,0 +1,61 @@
|
||||
BASH PATCH REPORT
|
||||
=================
|
||||
|
||||
Bash-Release: 5.1
|
||||
Patch-ID: bash51-008
|
||||
|
||||
Bug-Reported-by: Michael Felt <aixtools@gmail.com>
|
||||
Bug-Reference-ID: <b82d9a2f-5d8a-ffb2-4115-420c09272da5@felt.demon.nl>
|
||||
Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2021-03/msg00028.html
|
||||
|
||||
Bug-Description:
|
||||
|
||||
Process substitution FIFOs opened by child processes as targets of redirections
|
||||
were not removed appropriately, leaving remnants in the file system.
|
||||
|
||||
Patch (apply with `patch -p0'):
|
||||
|
||||
*** ../bash-5.1-patched/execute_cmd.c 2020-10-12 10:16:13.000000000 -0400
|
||||
--- execute_cmd.c 2021-05-04 11:12:39.000000000 -0400
|
||||
***************
|
||||
*** 5557,5565 ****
|
||||
/* Try to remove named pipes that may have been created as the
|
||||
result of redirections. */
|
||||
! unlink_fifo_list ();
|
||||
#endif /* PROCESS_SUBSTITUTION */
|
||||
exit (EXECUTION_FAILURE);
|
||||
}
|
||||
|
||||
if (async)
|
||||
interactive = old_interactive;
|
||||
--- 5557,5571 ----
|
||||
/* Try to remove named pipes that may have been created as the
|
||||
result of redirections. */
|
||||
! unlink_all_fifos ();
|
||||
#endif /* PROCESS_SUBSTITUTION */
|
||||
exit (EXECUTION_FAILURE);
|
||||
}
|
||||
|
||||
+ #if defined (PROCESS_SUBSTITUTION) && !defined (HAVE_DEV_FD)
|
||||
+ /* This should only contain FIFOs created as part of redirection
|
||||
+ expansion. */
|
||||
+ unlink_all_fifos ();
|
||||
+ #endif
|
||||
+
|
||||
if (async)
|
||||
interactive = old_interactive;
|
||||
*** ../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 7
|
||||
|
||||
#endif /* _PATCHLEVEL_H_ */
|
||||
--- 26,30 ----
|
||||
looks for to find the patch level (for the sccs version string). */
|
||||
|
||||
! #define PATCHLEVEL 8
|
||||
|
||||
#endif /* _PATCHLEVEL_H_ */
|
||||
@@ -19,10 +19,14 @@
|
||||
<Patches>
|
||||
<!-- Official Patches -->
|
||||
|
||||
<Patch>official/bash51-001.patch</Patch>
|
||||
<Patch>official/bash51-002.patch</Patch>
|
||||
<Patch>official/bash51-003.patch</Patch>
|
||||
<Patch>official/bash51-004.patch</Patch>
|
||||
<Patch>official/bash51-001.patch</Patch>
|
||||
<Patch>official/bash51-002.patch</Patch>
|
||||
<Patch>official/bash51-003.patch</Patch>
|
||||
<Patch>official/bash51-004.patch</Patch>
|
||||
<Patch>official/bash51-005.patch</Patch>
|
||||
<Patch>official/bash51-006.patch</Patch>
|
||||
<Patch>official/bash51-007.patch</Patch>
|
||||
<Patch>official/bash51-008.patch</Patch>
|
||||
|
||||
<!-- Fedora patches -->
|
||||
<Patch level="1">fedora/bash-2.02-security.patch</Patch>
|
||||
@@ -77,6 +81,13 @@
|
||||
</Package>
|
||||
|
||||
<History>
|
||||
<Update release="11">
|
||||
<Date>2021-07-26</Date>
|
||||
<Version>5.1.8</Version>
|
||||
<Comment>Version bump.</Comment>
|
||||
<Name>Mustafa Cinasal</Name>
|
||||
<Email>muscnsl@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="10">
|
||||
<Date>2021-03-01</Date>
|
||||
<Version>5.1.4</Version>
|
||||
|
||||
Reference in New Issue
Block a user