summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLorn Potter <lorn.potter@gmail.com>2020-06-10 13:24:51 +1000
committerLorn Potter <lorn.potter@gmail.com>2020-06-11 09:24:45 +1000
commitce8c33e710a9003a1912ab09fc31417b50b7a4b5 (patch)
treef0cc52ff3d04e1d24b77d1b4fb075674cb171b2c
parent7d989648151c577c1706ca85acf70edca4b91363 (diff)
wasm: fix network POST data corruption
Emscripten does not like when the post data gets deleted in the local scope. Fixes: QTBUG-84685 Pick-to: 5.15 Change-Id: I17f9d5cc3253c26b42253daa68e2fbaccc48eaf6 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
-rw-r--r--src/network/access/qnetworkreplywasmimpl.cpp9
-rw-r--r--src/network/access/qnetworkreplywasmimpl_p.h1
2 files changed, 5 insertions, 5 deletions
diff --git a/src/network/access/qnetworkreplywasmimpl.cpp b/src/network/access/qnetworkreplywasmimpl.cpp
index 7cb197c3e5..a1779146f4 100644
--- a/src/network/access/qnetworkreplywasmimpl.cpp
+++ b/src/network/access/qnetworkreplywasmimpl.cpp
@@ -231,11 +231,10 @@ void QNetworkReplyWasmImplPrivate::doSendRequest()
if (outgoingData) { // data from post request
// handle extra data
- QByteArray extraData;
- extraData = outgoingData->readAll(); // is there a size restriction here?
- if (!extraData.isEmpty()) {
- attr.requestData = extraData.constData();
- attr.requestDataSize = extraData.size();
+ requestData = outgoingData->readAll(); // is there a size restriction here?
+ if (!requestData.isEmpty()) {
+ attr.requestData = requestData.data();
+ attr.requestDataSize = requestData.size();
}
}
diff --git a/src/network/access/qnetworkreplywasmimpl_p.h b/src/network/access/qnetworkreplywasmimpl_p.h
index 0a62e8ad37..f8e532ff98 100644
--- a/src/network/access/qnetworkreplywasmimpl_p.h
+++ b/src/network/access/qnetworkreplywasmimpl_p.h
@@ -135,6 +135,7 @@ public:
QIODevice *outgoingData;
QSharedPointer<QRingBuffer> outgoingDataBuffer;
+ QByteArray requestData;
void doAbort() const;