mirror of
git://slackware.nl/current.git
synced 2024-12-28 09:59:53 +01:00
58d830884f
a/bash-5.2.032-x86_64-1.txz: Upgraded. d/mercurial-6.8.1-x86_64-1.txz: Upgraded. l/pipewire-1.2.2-x86_64-1.txz: Upgraded. l/spirv-llvm-translator-18.1.3-x86_64-1.txz: Upgraded. n/php-8.3.10-x86_64-1.txz: Upgraded. This is a bugfix release. For more information, see: https://www.php.net/ChangeLog-8.php#8.3.10
137 lines
3.5 KiB
Text
137 lines
3.5 KiB
Text
BASH PATCH REPORT
|
|
=================
|
|
|
|
Bash-Release: 5.2
|
|
Patch-ID: bash52-029
|
|
|
|
Bug-Reported-by: Grisha Levit <grishalevit@gmail.com>
|
|
Bug-Reference-ID: <CAMu=Brp9QHvLh8vbY45hRgCVaQUNSnU7n8EVjsWKajT7c99K8Q@mail.gmail.com>
|
|
Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2023-04/msg00072.html
|
|
|
|
Bug-Description:
|
|
|
|
There are problems with recovery after parser errors when parsing compound
|
|
assignments. For instance, the `local' builtin reports an error but never
|
|
cleans up the function context.
|
|
|
|
Patch (apply with `patch -p0'):
|
|
|
|
*** ../bash-20230427/parse.y Fri Apr 14 11:50:29 2023
|
|
--- parse.y Mon May 1 16:25:14 2023
|
|
***************
|
|
*** 6471,6478 ****
|
|
{
|
|
set_exit_status (EXECUTION_FAILURE);
|
|
if (interactive_shell == 0 && posixly_correct)
|
|
jump_to_top_level (FORCE_EOF);
|
|
else
|
|
! jump_to_top_level (DISCARD);
|
|
}
|
|
|
|
--- 6471,6483 ----
|
|
{
|
|
set_exit_status (EXECUTION_FAILURE);
|
|
+ current_token = '\n'; /* XXX */
|
|
if (interactive_shell == 0 && posixly_correct)
|
|
jump_to_top_level (FORCE_EOF);
|
|
else
|
|
! {
|
|
! if (executing && parse_and_execute_level == 0)
|
|
! top_level_cleanup ();
|
|
! jump_to_top_level (DISCARD);
|
|
! }
|
|
}
|
|
|
|
***************
|
|
*** 6538,6546 ****
|
|
{
|
|
set_exit_status (EXECUTION_FAILURE);
|
|
! last_read_token = '\n'; /* XXX */
|
|
if (interactive_shell == 0 && posixly_correct)
|
|
jump_to_top_level (FORCE_EOF);
|
|
else
|
|
! jump_to_top_level (DISCARD);
|
|
}
|
|
|
|
--- 6543,6555 ----
|
|
{
|
|
set_exit_status (EXECUTION_FAILURE);
|
|
! last_read_token = current_token = '\n'; /* XXX */
|
|
if (interactive_shell == 0 && posixly_correct)
|
|
jump_to_top_level (FORCE_EOF);
|
|
else
|
|
! {
|
|
! if (executing && parse_and_execute_level == 0)
|
|
! top_level_cleanup ();
|
|
! jump_to_top_level (DISCARD);
|
|
! }
|
|
}
|
|
|
|
|
|
*** ../bash-20230427/y.tab.c Tue Jul 30 15:19:31 2024
|
|
--- y.tab.c Tue Jul 30 15:20:21 2024
|
|
***************
|
|
*** 8786,8793 ****
|
|
{
|
|
set_exit_status (EXECUTION_FAILURE);
|
|
if (interactive_shell == 0 && posixly_correct)
|
|
jump_to_top_level (FORCE_EOF);
|
|
else
|
|
! jump_to_top_level (DISCARD);
|
|
}
|
|
|
|
--- 8786,8798 ----
|
|
{
|
|
set_exit_status (EXECUTION_FAILURE);
|
|
+ current_token = '\n'; /* XXX */
|
|
if (interactive_shell == 0 && posixly_correct)
|
|
jump_to_top_level (FORCE_EOF);
|
|
else
|
|
! {
|
|
! if (executing && parse_and_execute_level == 0)
|
|
! top_level_cleanup ();
|
|
! jump_to_top_level (DISCARD);
|
|
! }
|
|
}
|
|
|
|
***************
|
|
*** 8853,8861 ****
|
|
{
|
|
set_exit_status (EXECUTION_FAILURE);
|
|
! last_read_token = '\n'; /* XXX */
|
|
if (interactive_shell == 0 && posixly_correct)
|
|
jump_to_top_level (FORCE_EOF);
|
|
else
|
|
! jump_to_top_level (DISCARD);
|
|
}
|
|
|
|
--- 8858,8870 ----
|
|
{
|
|
set_exit_status (EXECUTION_FAILURE);
|
|
! last_read_token = current_token = '\n'; /* XXX */
|
|
if (interactive_shell == 0 && posixly_correct)
|
|
jump_to_top_level (FORCE_EOF);
|
|
else
|
|
! {
|
|
! if (executing && parse_and_execute_level == 0)
|
|
! top_level_cleanup ();
|
|
! jump_to_top_level (DISCARD);
|
|
! }
|
|
}
|
|
|
|
|
|
*** ../bash-5.2/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 28
|
|
|
|
#endif /* _PATCHLEVEL_H_ */
|
|
--- 26,30 ----
|
|
looks for to find the patch level (for the sccs version string). */
|
|
|
|
! #define PATCHLEVEL 29
|
|
|
|
#endif /* _PATCHLEVEL_H_ */
|