From 3b4bf3fcfaa08a9dad40742ce0f3fb4a6a266d5a Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Wed, 12 Nov 2025 08:32:31 +0100 Subject: [PATCH] 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 --- lib/telnet.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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; } -- 2.47.3