share: do bitshifts after the type is checked to be valid

Fixes #21224
Reported-by: bird on github
Closes #21226
This commit is contained in:
Daniel Stenberg 2026-04-05 14:46:40 +02:00
parent 8968a68eba
commit 7813d9a077
No known key found for this signature in database
GPG Key ID: 5CC908FDB71E12C2

View File

@ -281,7 +281,6 @@ CURLSHcode curl_share_setopt(CURLSH *sh, CURLSHoption option, ...)
case CURLSHOPT_UNSHARE:
/* this is a type this share will no longer share */
type = va_arg(param, int);
share->specifier &= ~(unsigned int)(1 << type);
switch(type) {
case CURL_LOCK_DATA_DNS:
break;
@ -325,6 +324,8 @@ CURLSHcode curl_share_setopt(CURLSH *sh, CURLSHoption option, ...)
res = CURLSHE_BAD_OPTION;
break;
}
if(!res)
share->specifier &= ~(unsigned int)(1 << type);
break;
case CURLSHOPT_LOCKFUNC: