nixpkgs/pkgs/tools/networking/curl/fix-sigpipe-leak.patch
Winter 00e4f26329 curl: fix SIGPIPE regression in 8.9.1
(lib)curl 8.9.1 introduces a bug which causes various programs to crash [0] [1].
curl's developers have no plans to make a new patch release at this time [2].

[0]: https://github.com/curl/curl/issues/14344
[1]: https://github.com/transmission/transmission/issues/7035
[2]: https://github.com/curl/curl/issues/14344#issuecomment-2269497552
2024-08-09 15:10:57 -04:00

33 lines
912 B
Diff

From 3eec5afbd0b6377eca893c392569b2faf094d970 Mon Sep 17 00:00:00 2001
From: Daniel Stenberg <daniel@haxx.se>
Date: Mon, 5 Aug 2024 00:17:17 +0200
Subject: [PATCH] sigpipe: init the struct so that first apply ignores
Initializes 'no_signal' to TRUE, so that a call to sigpipe_apply() after
init ignores the signal (unless CURLOPT_NOSIGNAL) is set.
I have read the existing code multiple times now and I think it gets the
initial state reversed this missing to ignore.
Regression from 17e6f06ea37136c36d27
Reported-by: Rasmus Thomsen
Fixes #14344
Closes #14390
---
lib/sigpipe.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/lib/sigpipe.h b/lib/sigpipe.h
index b91a2f51333956..d78afd905d3414 100644
--- a/lib/sigpipe.h
+++ b/lib/sigpipe.h
@@ -39,6 +39,7 @@ struct sigpipe_ignore {
static void sigpipe_init(struct sigpipe_ignore *ig)
{
memset(ig, 0, sizeof(*ig));
+ ig->no_signal = TRUE;
}
/*