diff options
author | Lorn Potter <lorn.potter@gmail.com> | 2020-06-10 13:24:51 +1000 |
---|---|---|
committer | Lorn Potter <lorn.potter@gmail.com> | 2020-06-11 09:24:45 +1000 |
commit | ce8c33e710a9003a1912ab09fc31417b50b7a4b5 (patch) | |
tree | f0cc52ff3d04e1d24b77d1b4fb075674cb171b2c | |
parent | 7d989648151c577c1706ca85acf70edca4b91363 (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.cpp | 9 | ||||
-rw-r--r-- | src/network/access/qnetworkreplywasmimpl_p.h | 1 |
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; |