From: Daniel Stenberg Date: Wed, 12 Nov 2025 07:32:31 +0000 (+0100) Subject: telnet: replace atoi for BINARY handling with curlx_str_number X-Git-Tag: rc-8_18_0-1~342 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3b4bf3fcfaa08a9dad40742ce0f3fb4a6a266d5a;p=thirdparty%2Fcurl.git telnet: replace atoi for BINARY handling with curlx_str_number Also, only consider 0 to be a valid switch-off. Previously any value except 1 had the same effect. Closes #19477 --- diff --git a/lib/telnet.c b/lib/telnet.c index 232e56a884..a939ae1a73 100644 --- a/lib/telnet.c +++ b/lib/telnet.c @@ -895,8 +895,10 @@ static CURLcode check_telnet_options(struct Curl_easy *data, case 6: /* To take care or not of the 8th bit in data exchange */ if(curl_strnequal(option, "BINARY", 6)) { - int binary_option = atoi(arg); - if(binary_option != 1) { + const char *p = arg; + curl_off_t binary_option; + if(!curlx_str_number(&p, &binary_option, 1) && + (binary_option != 1)) { tn->us_preferred[CURL_TELOPT_BINARY] = CURL_NO; tn->him_preferred[CURL_TELOPT_BINARY] = CURL_NO; }