From: Daniel Stenberg Date: Wed, 12 Nov 2025 07:38:45 +0000 (+0100) Subject: http: replace atoi use in Curl_http_follow with curlx_str_number X-Git-Tag: rc-8_18_0-1~341 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7aaf9a3152ae70245b0cfbc6d7a2aef83fc9f20d;p=thirdparty%2Fcurl.git http: replace atoi use in Curl_http_follow with curlx_str_number In an attempt to weed out atoi() use all over. Closes #19478 --- diff --git a/lib/http.c b/lib/http.c index f3cf228bf2..08739ffddb 100644 --- a/lib/http.c +++ b/lib/http.c @@ -1302,7 +1302,6 @@ CURLcode Curl_http_follow(struct Curl_easy *data, const char *newurl, /* Clear auth if this redirects to a different port number or protocol, unless permitted */ if(!data->set.allow_auth_to_other_hosts && (type != FOLLOW_FAKE)) { - char *portnum; int port; bool clear = FALSE; @@ -1310,13 +1309,18 @@ CURLcode Curl_http_follow(struct Curl_easy *data, const char *newurl, /* a custom port is used */ port = (int)data->set.use_port; else { + curl_off_t value; + char *portnum; + const char *p; uc = curl_url_get(data->state.uh, CURLUPART_PORT, &portnum, CURLU_DEFAULT_PORT); if(uc) { free(follow_url); return Curl_uc_to_curlcode(uc); } - port = atoi(portnum); + p = portnum; + curlx_str_number(&p, &value, 0xffff); + port = (int)value; free(portnum); } if(port != data->info.conn_remote_port) {