mirror of
git://slackware.nl/current.git
synced 2025-01-09 05:24:36 +01:00
a8f1aa5a10
a/bash-5.2.012-x86_64-1.txz: Upgraded. a/less-612-x86_64-1.txz: Upgraded. a/tcsh-6.24.02-x86_64-1.txz: Upgraded. ap/vim-9.0.0942-x86_64-1.txz: Upgraded. d/make-4.4-x86_64-2.txz: Rebuilt. [SV 63307] Spawn children with the default disposition of sigpipe. Thanks to nobodino. d/ruby-3.1.3-x86_64-1.txz: Upgraded. This release includes a security fix: HTTP response splitting in CGI. For more information, see: https://www.cve.org/CVERecord?id=CVE-2021-33621 (* Security fix *) l/pipewire-0.3.61-x86_64-1.txz: Upgraded. n/ipset-7.16-x86_64-1.txz: Upgraded. x/fcitx5-5.0.21-x86_64-1.txz: Upgraded. xap/vim-gvim-9.0.0942-x86_64-1.txz: Upgraded.
48 lines
1.4 KiB
Diff
48 lines
1.4 KiB
Diff
commit 0370a7a40fe9523ea334dcb8a2a60f1418595b49
|
|
Author: Dmitry Goncharov <dgoncharov@users.sf.net>
|
|
Date: Sun Nov 6 07:36:26 2022 -0500
|
|
|
|
[SV 63307] Spawn children with the default disposition of sigpipe.
|
|
|
|
* src/main.c (main): Set sigpipe disposition to a handler, rather than
|
|
SIG_IGN, in order for children to have the default sigpipe disposition.
|
|
* tests/scripts/misc/sigpipe: Add sigpipe tests.
|
|
|
|
diff --git a/src/main.c b/src/main.c
|
|
index eec93656..d8857696 100644
|
|
--- a/src/main.c
|
|
+++ b/src/main.c
|
|
@@ -1152,6 +1152,15 @@ temp_stdin_unlink ()
|
|
}
|
|
}
|
|
|
|
+#ifdef SIGPIPE
|
|
+static void
|
|
+handle_sigpipe (int sig)
|
|
+{
|
|
+ /* Suppress unused variable warning. */
|
|
+ sig = sig;
|
|
+}
|
|
+#endif
|
|
+
|
|
#ifdef _AMIGA
|
|
int
|
|
main (int argc, char **argv)
|
|
@@ -1182,9 +1191,15 @@ main (int argc, char **argv, char **envp)
|
|
/* Useful for attaching debuggers, etc. */
|
|
SPIN ("main-entry");
|
|
|
|
- /* Don't die if our stdout sends us SIGPIPE. */
|
|
+ /* Don't die if our stdout sends us SIGPIPE to get temporary files removed.
|
|
+ * If make has inherited SIG_IGN, keep running with SIG_IGN to let make's
|
|
+ * children inherit SIG_IGN.
|
|
+ * Othwerwise, set sigpipe disposition to a handler, in order for children to
|
|
+ * have the default sigpipe disposition. */
|
|
+
|
|
#ifdef SIGPIPE
|
|
- bsd_signal (SIGPIPE, SIG_IGN);
|
|
+ if (bsd_signal (SIGPIPE, handle_sigpipe) == SIG_IGN)
|
|
+ bsd_signal (SIGPIPE, SIG_IGN);
|
|
#endif
|
|
|
|
#ifdef HAVE_ATEXIT
|