Title: [206556] trunk/Source/WebCore
Revision
206556
Author
[email protected]
Date
2016-09-28 15:13:31 -0700 (Wed, 28 Sep 2016)

Log Message

CRASH at WebCore::CDMSessionAVStreamSession::update + 950
https://bugs.webkit.org/show_bug.cgi?id=162701

Reviewed by Beth Dakin.

If the SourceBuffer backing a <video> element is removed before CDMSessionAVStreamSession::update() gets
a chance to run, the protectedSourceBuffer will be null. Just bail early and indicate an error.

* platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.mm:
(WebCore::CDMSessionAVStreamSession::update):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (206555 => 206556)


--- trunk/Source/WebCore/ChangeLog	2016-09-28 21:55:53 UTC (rev 206555)
+++ trunk/Source/WebCore/ChangeLog	2016-09-28 22:13:31 UTC (rev 206556)
@@ -1,3 +1,16 @@
+2016-09-28  Jer Noble  <[email protected]>
+
+        CRASH at WebCore::CDMSessionAVStreamSession::update + 950
+        https://bugs.webkit.org/show_bug.cgi?id=162701
+
+        Reviewed by Beth Dakin.
+
+        If the SourceBuffer backing a <video> element is removed before CDMSessionAVStreamSession::update() gets
+        a chance to run, the protectedSourceBuffer will be null. Just bail early and indicate an error.
+
+        * platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.mm:
+        (WebCore::CDMSessionAVStreamSession::update):
+
 2016-09-28  Alex Christensen  <[email protected]>
 
         URLParser should properly handle unexpected periods and overflows in IPv4 addresses

Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.mm (206555 => 206556)


--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.mm	2016-09-28 21:55:53 UTC (rev 206555)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.mm	2016-09-28 22:13:31 UTC (rev 206556)
@@ -260,6 +260,11 @@
         return false;
     }
 
+    if (!protectedSourceBuffer) {
+        errorCode = MediaPlayer::InvalidPlayerState;
+        return false;
+    }
+
     ASSERT(!m_sourceBuffers.isEmpty());
     LOG(Media, "CDMSessionAVStreamSession::update(%p) - key data", this);
     errorCode = MediaPlayer::NoError;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to