diff options
Diffstat (limited to 'backport-multi-check-that-the-multi-handle-is-valid-in-curl_m.patch')
-rw-r--r-- | backport-multi-check-that-the-multi-handle-is-valid-in-curl_m.patch | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/backport-multi-check-that-the-multi-handle-is-valid-in-curl_m.patch b/backport-multi-check-that-the-multi-handle-is-valid-in-curl_m.patch new file mode 100644 index 0000000..c1dc6f5 --- /dev/null +++ b/backport-multi-check-that-the-multi-handle-is-valid-in-curl_m.patch @@ -0,0 +1,37 @@ +From 48f61e781a01e6a8dbc4a347e280644b1c68ab6a Mon Sep 17 00:00:00 2001 +From: Daniel Stenberg <daniel@haxx.se> +Date: Wed, 11 Sep 2024 14:12:41 +0200 +Subject: [PATCH] multi: check that the multi handle is valid in + curl_multi_assign + +By requiring that the multi handle is fine, it can detect bad usage +better and by that avoid crashes. Like in the #14860 case, which is an +application calling curl_multi_assign() with a NULL pointer multi +handle. + +Reported-by: Carlo Cabrera +Fixes #14860 +Closes #14862 + +Conflict:NA +Reference:https://github.com/curl/curl/commit/48f61e781a01e6a8dbc4a347e280644b1c68ab6a +--- + lib/multi.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/lib/multi.c b/lib/multi.c +index 062d09cc0..78e5c0a1e 100644 +--- a/lib/multi.c ++++ b/lib/multi.c +@@ -3688,6 +3688,8 @@ CURLMcode curl_multi_assign(struct Curl_multi *multi, curl_socket_t s, + void *hashp) + { + struct Curl_sh_entry *there = NULL; ++ if(!GOOD_MULTI_HANDLE(multi)) ++ return CURLM_BAD_HANDLE; + + there = sh_getentry(&multi->sockhash, s); + +-- +2.33.0 + |