From: Daniel Stenberg Date: Wed, 11 Sep 2024 12:12:41 +0000 (+0200) Subject: multi: check that the multi handle is valid in curl_multi_assign X-Git-Tag: curl-8_10_1~46 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=48f61e781a01e6a8dbc4a347e280644b1c68ab6a;p=thirdparty%2Fcurl.git 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 --- diff --git a/lib/multi.c b/lib/multi.c index 062d09cc0b..78e5c0a1e5 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);