From 0bfec6cd1183f4985733e355f01f6e12df2fb2be Mon Sep 17 00:00:00 2001 From: Juha Vuolle Date: Mon, 4 Dec 2023 15:04:43 +0200 Subject: [PATCH] QHttpHeaders: reserve memory for headers when creating from a container MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit To avoid any potential resizes during append looping Task-number: QTBUG-119002 Change-Id: I8f4c391f05b5c5bd0b48a4f17b11996652006508 Reviewed-by: MÃ¥rten Nordheim Reviewed-by: Marc Mutz Reviewed-by: Qt CI Bot Reviewed-by: Ivan Solovev --- src/network/access/qhttpheaders.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/network/access/qhttpheaders.cpp b/src/network/access/qhttpheaders.cpp index a66adf81617..de2f7e148a4 100644 --- a/src/network/access/qhttpheaders.cpp +++ b/src/network/access/qhttpheaders.cpp @@ -528,6 +528,7 @@ QHttpHeaders::QHttpHeaders() : d(new QHttpHeadersPrivate) QHttpHeaders QHttpHeaders::fromListOfPairs(const QList> &headers) { QHttpHeaders h; + h.d->headers.reserve(headers.size()); for (const auto &header : headers) h.append(header.first, header.second); return h; @@ -542,6 +543,7 @@ QHttpHeaders QHttpHeaders::fromListOfPairs(const QList &headers) { QHttpHeaders h; + h.d->headers.reserve(headers.size()); for (const auto &[name,value] : headers.asKeyValueRange()) h.append(name, value); return h; @@ -556,6 +558,7 @@ QHttpHeaders QHttpHeaders::fromMultiMap(const QMultiMap QHttpHeaders QHttpHeaders::fromMultiHash(const QMultiHash &headers) { QHttpHeaders h; + h.d->headers.reserve(headers.size()); for (const auto &[name,value] : headers.asKeyValueRange()) h.append(name, value); return h;