From 119a6b51869b7ffba4fa49bc07e78a243fe4a9ba Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Thu, 25 Jan 2024 18:50:19 +0100 Subject: [PATCH] QHttpHeaders: add a missing detach() Before calling a mutable member function (in this case, QList::reserve()) on one of the Private members, we need to ensure exclusive ownership of our external state, otherwise we have a Data Race, because QList::reserve() is not thread-safe (only re-entrant). Pick-to: 6.7 Change-Id: I1249de9449865cbf6ab519b0d38b3bf4e743f16d Reviewed-by: Juha Vuolle --- src/network/access/qhttpheaders.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/network/access/qhttpheaders.cpp b/src/network/access/qhttpheaders.cpp index fe6d04687c5..5b32387d919 100644 --- a/src/network/access/qhttpheaders.cpp +++ b/src/network/access/qhttpheaders.cpp @@ -1040,6 +1040,7 @@ qsizetype QHttpHeaders::size() const noexcept */ void QHttpHeaders::reserve(qsizetype size) { + d.detach(); d->headers.reserve(size); }