From: Daniel Stenberg Date: Tue, 18 Nov 2025 16:01:30 +0000 (+0100) Subject: lib: error for OOM when extracting URL query X-Git-Tag: rc-8_18_0-1~237 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=318cd4f2ee4840a13634bacce462676b40dabe71;p=thirdparty%2Fcurl.git lib: error for OOM when extracting URL query Closes #19594 --- diff --git a/lib/imap.c b/lib/imap.c index d23076a48f..faa595561d 100644 --- a/lib/imap.c +++ b/lib/imap.c @@ -2315,8 +2315,10 @@ static CURLcode imap_parse_url_path(struct Curl_easy *data, and no UID as per RFC-5092 */ if(imap->mailbox && !imap->uid && !imap->mindex) { /* Get the query parameter, URL decoded */ - (void)curl_url_get(data->state.uh, CURLUPART_QUERY, &imap->query, - CURLU_URLDECODE); + CURLUcode uc = curl_url_get(data->state.uh, CURLUPART_QUERY, &imap->query, + CURLU_URLDECODE); + if(uc == CURLUE_OUT_OF_MEMORY) + return CURLE_OUT_OF_MEMORY; } /* Any extra stuff at the end of the URL is an error */ diff --git a/lib/url.c b/lib/url.c index 527d698390..b4069e30f1 100644 --- a/lib/url.c +++ b/lib/url.c @@ -1974,7 +1974,9 @@ static CURLcode parseurlandfillconn(struct Curl_easy *data, conn->remote_port = (unsigned short)port; } - (void)curl_url_get(uh, CURLUPART_QUERY, &data->state.up.query, 0); + uc = curl_url_get(uh, CURLUPART_QUERY, &data->state.up.query, 0); + if(uc && (uc != CURLUE_NO_QUERY)) + return CURLE_OUT_OF_MEMORY; #ifdef USE_IPV6 if(data->set.scope_id)