summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/oauth/qoauth1.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/oauth/qoauth1.cpp b/src/oauth/qoauth1.cpp
index bc60377..8063b2e 100644
--- a/src/oauth/qoauth1.cpp
+++ b/src/oauth/qoauth1.cpp
@@ -144,7 +144,8 @@ void QOAuth1Private::appendSignature(QAbstractOAuth::Stage stage,
{
QByteArray signature;
{
- QVariantMap allParameters = QVariantMap(*headers).unite(parameters);
+ QMultiMap<QString, QVariant> headerCopy = *headers;
+ QVariantMap allParameters = headerCopy.unite(parameters);
if (modifyParametersFunction)
modifyParametersFunction(stage, &allParameters);
signature = generateSignature(allParameters, url, operation);
@@ -763,7 +764,8 @@ void QOAuth1::setup(QNetworkRequest *request,
// Add signature parameter
{
- const auto parameters = QVariantMap(oauthParams).unite(signingParameters);
+ QMultiMap<QString, QVariant> oauthParamsCopy(oauthParams);
+ const auto parameters = oauthParamsCopy.unite(signingParameters);
const auto signature = d->generateSignature(parameters, request->url(), operation);
oauthParams.insert(Key::oauthSignature, signature);
}
@@ -803,7 +805,8 @@ void QOAuth1::setup(QNetworkRequest *request, const QVariantMap &signingParamete
// Add signature parameter
{
- const auto parameters = QVariantMap(oauthParams).unite(signingParameters);
+ QMultiMap<QString, QVariant> oauthParamsCopy(oauthParams);
+ const auto parameters = oauthParamsCopy.unite(signingParameters);
const auto signature = d->generateSignature(parameters, request->url(), operationVerb);
oauthParams.insert(Key::oauthSignature, signature);
}