setopt: check CURLOPT_ADDRESS_SCOPE option range

... and return error instead of triggering an assert() when being way
out of range.
This commit is contained in:
Daniel Stenberg 2017-06-09 01:00:23 +02:00
Родитель 01596dbadf
Коммит 844896d064
1 изменённых файлов: 4 добавлений и 1 удалений

Просмотреть файл

@ -2616,7 +2616,10 @@ CURLcode Curl_setopt(struct Curl_easy *data, CURLoption option,
* know that an unsigned int will always hold the value so we blindly
* typecast to this type
*/
data->set.scope_id = curlx_sltoui(va_arg(param, long));
arg = va_arg(param, long);
if((arg < 0) || (arg > 0xf))
return CURLE_BAD_FUNCTION_ARGUMENT;
data->set.scope_id = curlx_sltoui(arg);
break;
case CURLOPT_PROTOCOLS: