Title: [274623] trunk/Source/WebCore
Revision
274623
Author
[email protected]
Date
2021-03-18 01:42:57 -0700 (Thu, 18 Mar 2021)

Log Message

RTCRtpScriptTransformer::writable should check for m_backend
https://bugs.webkit.org/show_bug.cgi?id=223373

Reviewed by Eric Carlson.

Covered by existing tests.

* Modules/mediastream/RTCRtpScriptTransformer.cpp:
(WebCore::RTCRtpScriptTransformer::writable):
The writer can only start writing after readable is started, which means m_backend is set.
But the transformer may be cleared at which point m_backend is nullified but there might be some encoded frames in the pipe to be written.
Add a null check to fix this.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (274622 => 274623)


--- trunk/Source/WebCore/ChangeLog	2021-03-18 08:25:41 UTC (rev 274622)
+++ trunk/Source/WebCore/ChangeLog	2021-03-18 08:42:57 UTC (rev 274623)
@@ -1,5 +1,20 @@
 2021-03-18  Youenn Fablet  <[email protected]>
 
+        RTCRtpScriptTransformer::writable should check for m_backend
+        https://bugs.webkit.org/show_bug.cgi?id=223373
+
+        Reviewed by Eric Carlson.
+
+        Covered by existing tests.
+
+        * Modules/mediastream/RTCRtpScriptTransformer.cpp:
+        (WebCore::RTCRtpScriptTransformer::writable):
+        The writer can only start writing after readable is started, which means m_backend is set.
+        But the transformer may be cleared at which point m_backend is nullified but there might be some encoded frames in the pipe to be written.
+        Add a null check to fix this.
+
+2021-03-18  Youenn Fablet  <[email protected]>
+
         Geolocation API does not work in WKWebView with custom URL scheme handler
         https://bugs.webkit.org/show_bug.cgi?id=222861
         <rdar://problem/75394695>

Modified: trunk/Source/WebCore/Modules/mediastream/RTCRtpScriptTransformer.cpp (274622 => 274623)


--- trunk/Source/WebCore/Modules/mediastream/RTCRtpScriptTransformer.cpp	2021-03-18 08:25:41 UTC (rev 274622)
+++ trunk/Source/WebCore/Modules/mediastream/RTCRtpScriptTransformer.cpp	2021-03-18 08:42:57 UTC (rev 274623)
@@ -84,6 +84,9 @@
 
         auto& globalObject = *JSC::jsCast<JSDOMGlobalObject*>(context->globalObject());
         auto writableOrException = WritableStream::create(globalObject, SimpleWritableStreamSink::create([transformer = makeRef(*this)](auto& context, auto value) -> ExceptionOr<void> {
+            if (!transformer->m_backend)
+                return Exception { InvalidStateError };
+
             auto& globalObject = *context.globalObject();
 
             auto scope = DECLARE_THROW_SCOPE(globalObject.vm());
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to