slackware-current/source/l/readline/readline-8.2-patches/readline82-006
Patrick J Volkerding 2dbdcbb842 Tue Nov 21 21:15:30 UTC 2023
We have fresh 6.6 kernels in /testing! You may notice that on the 32-bit side
we have done away with the -smp labeled kernel packages, but it's actually the
other kernels that were retired -- the non-SMP, non-PAE ones. If you were
previously using kernel-generic-smp or kernel-huge-smp, you'll need to make
some adjustments to your bootloader setup to load kernel-generic or kernel-huge
instead. About the only non-obsolete CPUs that may have an issue with this are
the first generation Pentium M chips, which supported PAE but unfortunately did
not advertise this in the CPU flags. But these will support PAE if the kernel
option "forcepae" is appended at boot time. Enjoy! :-)
a/gettext-0.22.4-x86_64-1.txz:  Upgraded.
a/kbd-2.6.3-x86_64-3.txz:  Rebuilt.
  Installed extra console fonts.
a/kernel-firmware-20231120_9552083-noarch-1.txz:  Upgraded.
a/kernel-generic-6.1.63-x86_64-1.txz:  Upgraded.
a/kernel-huge-6.1.63-x86_64-1.txz:  Upgraded.
a/kernel-modules-6.1.63-x86_64-1.txz:  Upgraded.
a/mkinitrd-1.4.11-x86_64-34.txz:  Rebuilt.
  Fix tests for including jfs/xfs repair tools. Thanks to regdub.
a/pkgtools-15.1-noarch-8.txz:  Rebuilt.
  Make vim the default vi choice.
ap/vim-9.0.2116-x86_64-1.txz:  Upgraded.
d/gettext-tools-0.22.4-x86_64-1.txz:  Upgraded.
d/git-2.43.0-x86_64-1.txz:  Upgraded.
d/kernel-headers-6.1.63-x86-1.txz:  Upgraded.
d/mercurial-6.6-x86_64-1.txz:  Upgraded.
d/meson-1.3.0-x86_64-1.txz:  Upgraded.
d/scons-4.6.0-x86_64-1.txz:  Upgraded.
k/kernel-source-6.1.63-noarch-1.txz:  Upgraded.
l/readline-8.2.007-x86_64-1.txz:  Upgraded.
n/c-ares-1.22.1-x86_64-1.txz:  Upgraded.
n/nfs-utils-2.6.4-x86_64-1.txz:  Upgraded.
x/libdrm-2.4.118-x86_64-1.txz:  Upgraded.
xap/mozilla-firefox-115.5.0esr-x86_64-1.txz:  Upgraded.
  This update contains security fixes and improvements.
  Thanks to zuriel for the taskbar icon fix on Wayland. :-)
  For more information, see:
    https://www.mozilla.org/en-US/firefox/115.5.0/releasenotes/
    https://www.mozilla.org/security/advisories/mfsa2023-50/
    https://www.cve.org/CVERecord?id=CVE-2023-6204
    https://www.cve.org/CVERecord?id=CVE-2023-6205
    https://www.cve.org/CVERecord?id=CVE-2023-6206
    https://www.cve.org/CVERecord?id=CVE-2023-6207
    https://www.cve.org/CVERecord?id=CVE-2023-6208
    https://www.cve.org/CVERecord?id=CVE-2023-6209
    https://www.cve.org/CVERecord?id=CVE-2023-6212
  (* Security fix *)
xap/vim-gvim-9.0.2116-x86_64-1.txz:  Upgraded.
xap/xsnow-3.7.6-x86_64-1.txz:  Upgraded.
isolinux/initrd.img:  Rebuilt.
kernels/*:  Upgraded.
testing/packages/kernel-generic-6.6.2-x86_64-1.txz:  Added.
testing/packages/kernel-headers-6.6.2-x86-1.txz:  Added.
testing/packages/kernel-huge-6.6.2-x86_64-1.txz:  Added.
testing/packages/kernel-modules-6.6.2-x86_64-1.txz:  Added.
testing/packages/kernel-source-6.6.2-noarch-1.txz:  Added.
usb-and-pxe-installers/usbboot.img:  Rebuilt.
2023-11-21 23:50:07 +01:00

99 lines
3 KiB
Text

READLINE PATCH REPORT
=====================
Readline-Release: 8.2
Patch-ID: readline82-006
Bug-Reported-by: Tom de Vries <tdevries@suse.de>
Bug-Reference-ID:
Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-readline/2022-09/msg00001.html
Bug-Description:
This is a variant of the same issue as the one fixed by patch 5. In this
case, the signal arrives and is pending before readline calls rl_getc().
When this happens, the pending signal will be handled by the loop, but may
alter or destroy some state that the callback uses. Readline needs to treat
this case the same way it would if a signal interrupts pselect/select, so
compound operations like searches and reading numeric arguments get cleaned
up properly.
Patch (apply with `patch -p0'):
*** ../readline-8.2-patched/input.c 2022-12-22 16:15:48.000000000 -0500
--- input.c 2023-01-10 11:53:45.000000000 -0500
***************
*** 812,816 ****
rl_getc (FILE *stream)
{
! int result;
unsigned char c;
int fd;
--- 812,816 ----
rl_getc (FILE *stream)
{
! int result, ostate, osig;
unsigned char c;
int fd;
***************
*** 823,828 ****
--- 823,842 ----
while (1)
{
+ osig = _rl_caught_signal;
+ ostate = rl_readline_state;
+
RL_CHECK_SIGNALS ();
+ #if defined (READLINE_CALLBACKS)
+ /* Do signal handling post-processing here, but just in callback mode
+ for right now because the signal cleanup can change some of the
+ callback state, and we need to either let the application have a
+ chance to react or abort some current operation that gets cleaned
+ up by rl_callback_sigcleanup(). If not, we'll just run through the
+ loop again. */
+ if (osig != 0 && (ostate & RL_STATE_CALLBACK))
+ goto postproc_signal;
+ #endif
+
/* We know at this point that _rl_caught_signal == 0 */
***************
*** 888,891 ****
--- 902,908 ----
handle_error:
+ osig = _rl_caught_signal;
+ ostate = rl_readline_state;
+
/* If the error that we received was EINTR, then try again,
this is simply an interrupted system call to read (). We allow
***************
*** 928,933 ****
--- 945,959 ----
#endif /* SIGALRM */
+ postproc_signal:
+ /* POSIX says read(2)/pselect(2)/select(2) don't return EINTR for any
+ reason other than being interrupted by a signal, so we can safely
+ call the application's signal event hook. */
if (rl_signal_event_hook)
(*rl_signal_event_hook) ();
+ #if defined (READLINE_CALLBACKS)
+ else if (osig == SIGINT && (ostate & RL_STATE_CALLBACK) && (ostate & (RL_STATE_ISEARCH|RL_STATE_NSEARCH|RL_STATE_NUMERICARG)))
+ /* just these cases for now */
+ _rl_abort_internal ();
+ #endif
}
}
*** ../readline-8.2/patchlevel 2013-11-15 08:11:11.000000000 -0500
--- patchlevel 2014-03-21 08:28:40.000000000 -0400
***************
*** 1,3 ****
# Do not edit -- exists only for use by patch
! 5
--- 1,3 ----
# Do not edit -- exists only for use by patch
! 6