webkit2gtk3/SOURCES/CVE-2021-30858.patch

31 lines
1.6 KiB
Diff

Index: /Source/WTF/wtf/CrossThreadTask.h
===================================================================
--- /Source/WTF/wtf/CrossThreadTask.h (revision 281383)
+++ /Source/WTF/wtf/CrossThreadTask.h (revision 281384)
@@ -88,5 +88,5 @@
}
-template<typename T, typename std::enable_if<std::is_base_of<ThreadSafeRefCounted<T>, T>::value, int>::type = 0, typename... Parameters, typename... Arguments>
+template<typename T, typename std::enable_if<std::is_base_of<ThreadSafeRefCountedBase, T>::value, int>::type = 0, typename... Parameters, typename... Arguments>
CrossThreadTask createCrossThreadTask(T& callee, void (T::*method)(Parameters...), const Arguments&... arguments)
{
@@ -96,5 +96,5 @@
}
-template<typename T, typename std::enable_if<!std::is_base_of<ThreadSafeRefCounted<T>, T>::value, int>::type = 0, typename... Parameters, typename... Arguments>
+template<typename T, typename std::enable_if<!std::is_base_of<ThreadSafeRefCountedBase, T>::value, int>::type = 0, typename... Parameters, typename... Arguments>
CrossThreadTask createCrossThreadTask(T& callee, void (T::*method)(Parameters...), const Arguments&... arguments)
{
Index: /Source/WebCore/Modules/indexeddb/IDBRequest.cpp
===================================================================
--- /Source/WebCore/Modules/indexeddb/IDBRequest.cpp (revision 281383)
+++ /Source/WebCore/Modules/indexeddb/IDBRequest.cpp (revision 281384)
@@ -309,5 +309,6 @@
targets = { this, m_transaction.get(), &m_transaction->database() };
- m_hasPendingActivity = false;
+ if (event.isTrusted())
+ m_hasPendingActivity = false;
{