Do not use non-POD global static variable in qrestaccessmanager.cpp

Replace it with a static variable that is in a static function.

Found by an Axivion scan.

Task-number: QTBUG-125026
Pick-to: 6.8 6.7 6.5
Change-Id: I190003b2c798ceddfaf22bbf83786d8e98677721
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
This commit is contained in:
Mate Barany 2024-07-19 14:47:15 +02:00
parent 51dbdb6f9b
commit f4d2f3d1d1

View File

@ -687,7 +687,11 @@ QNetworkReply *QRestAccessManager::putWithDataImpl(const QNetworkRequest &reques
return d->executeRequest([&](auto qnam) { return qnam->put(request, data); }, context, slot);
}
static const auto PATCH = "PATCH"_ba;
static const QByteArray& PATCH()
{
static auto patch = "PATCH"_ba;
return patch;
}
QNetworkReply *QRestAccessManager::patchWithDataImpl(const QNetworkRequest &request,
const QJsonDocument &data, const QObject *context,
@ -695,7 +699,7 @@ QNetworkReply *QRestAccessManager::patchWithDataImpl(const QNetworkRequest &requ
{
Q_D(QRestAccessManager);
return d->executeRequest(
[](auto qnam, auto req, auto data) { return qnam->sendCustomRequest(req, PATCH, data); },
[](auto qnam, auto req, auto data) { return qnam->sendCustomRequest(req, PATCH(), data); },
data, request, context, slot);
}
@ -711,7 +715,7 @@ QNetworkReply *QRestAccessManager::patchWithDataImpl(const QNetworkRequest &requ
QtPrivate::QSlotObjectBase *slot)
{
Q_D(QRestAccessManager);
return d->executeRequest([&](auto qnam) { return qnam->sendCustomRequest(request, PATCH, data); },
return d->executeRequest([&](auto qnam) { return qnam->sendCustomRequest(request, PATCH(), data); },
context, slot);
}
@ -719,7 +723,7 @@ QNetworkReply *QRestAccessManager::patchWithDataImpl(const QNetworkRequest &requ
const QObject *context, QtPrivate::QSlotObjectBase *slot)
{
Q_D(QRestAccessManager);
return d->executeRequest([&](auto qnam) { return qnam->sendCustomRequest(request, PATCH, data); },
return d->executeRequest([&](auto qnam) { return qnam->sendCustomRequest(request, PATCH(), data); },
context, slot);
}