From 7aaf9a3152ae70245b0cfbc6d7a2aef83fc9f20d Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Wed, 12 Nov 2025 08:38:45 +0100 Subject: [PATCH] http: replace atoi use in Curl_http_follow with curlx_str_number In an attempt to weed out atoi() use all over. Closes #19478 --- lib/http.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) 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) { -- 2.47.3