summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPiotr Wierciński <piotr.wiercinski@qt.io>2024-02-29 16:53:07 +0100
committerPiotr Wierciński <piotr.wiercinski@qt.io>2024-03-18 09:31:37 +0000
commitafdec885058c92e24604f398a926297222da06f3 (patch)
tree855446c159076c251a5ad64759e1ffad935e8d74
parent2287723ed3b01cfa915b357aba3ee31ecd56a5c4 (diff)
wasm: Dont access QNetworkReply header data through dangling pointerv6.6.36.6.3
Fixes: QTBUG-122893 Change-Id: I3768fdffaec7be4ec0b559fdb365600220e648d1 Reviewed-by: Lorn Potter <lorn.potter@gmail.com> (cherry picked from commit a5b00cefef12999e9a213943855abe6bc0ab5365) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 9a59f6bc574e3b9dfa09ac33e6dd951f105f87bb) Reviewed-by: Piotr Wierciński <piotr.wiercinski@qt.io> (cherry picked from commit 8341bfd960a09576f95ebabb1e9ad767e85198b1)
-rw-r--r--src/corelib/kernel/qeventdispatcher_wasm_p.h2
-rw-r--r--src/network/access/qnetworkreplywasmimpl.cpp2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/corelib/kernel/qeventdispatcher_wasm_p.h b/src/corelib/kernel/qeventdispatcher_wasm_p.h
index a66f67c3e3..0790a83f40 100644
--- a/src/corelib/kernel/qeventdispatcher_wasm_p.h
+++ b/src/corelib/kernel/qeventdispatcher_wasm_p.h
@@ -52,6 +52,7 @@ public:
void interrupt() override;
void wakeUp() override;
+ static void runOnMainThread(std::function<void(void)> fn);
static void runOnMainThreadAsync(std::function<void(void)> fn);
static void socketSelect(int timeout, int socket, bool waitForRead, bool waitForWrite,
bool *selectForRead, bool *selectForWrite, bool *socketDisconnect);
@@ -89,7 +90,6 @@ private:
static void run(std::function<void(void)> fn);
static void runAsync(std::function<void(void)> fn);
- static void runOnMainThread(std::function<void(void)> fn);
static QEventDispatcherWasm *g_mainThreadEventDispatcher;
diff --git a/src/network/access/qnetworkreplywasmimpl.cpp b/src/network/access/qnetworkreplywasmimpl.cpp
index 9c77d6881e..152b127d54 100644
--- a/src/network/access/qnetworkreplywasmimpl.cpp
+++ b/src/network/access/qnetworkreplywasmimpl.cpp
@@ -297,7 +297,7 @@ void QNetworkReplyWasmImplPrivate::doSendRequest()
attr.destinationPath = destinationPath.constData();
auto url = request.url().toString().toUtf8();
- QEventDispatcherWasm::runOnMainThreadAsync([attr, url]() mutable {
+ QEventDispatcherWasm::runOnMainThread([attr, url]() mutable {
emscripten_fetch(&attr, url);
});
state = Working;