Title: [211386] trunk/Source/WebCore
Revision
211386
Author
jer.no...@apple.com
Date
2017-01-30 14:09:01 -0800 (Mon, 30 Jan 2017)

Log Message

NULL-deref crash at PlatformMediaSession::endInterruption
https://bugs.webkit.org/show_bug.cgi?id=167595

Reviewed by Eric Carlson.

Use the same, NULL-aware forEachSession() iterator rather than iterating over m_sessions directly.

* platform/audio/PlatformMediaSessionManager.cpp:
(WebCore::PlatformMediaSessionManager::beginInterruption):
(WebCore::PlatformMediaSessionManager::endInterruption):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (211385 => 211386)


--- trunk/Source/WebCore/ChangeLog	2017-01-30 22:01:07 UTC (rev 211385)
+++ trunk/Source/WebCore/ChangeLog	2017-01-30 22:09:01 UTC (rev 211386)
@@ -1,3 +1,16 @@
+2017-01-30  Jer Noble  <jer.no...@apple.com>
+
+        NULL-deref crash at PlatformMediaSession::endInterruption
+        https://bugs.webkit.org/show_bug.cgi?id=167595
+
+        Reviewed by Eric Carlson.
+
+        Use the same, NULL-aware forEachSession() iterator rather than iterating over m_sessions directly.
+
+        * platform/audio/PlatformMediaSessionManager.cpp:
+        (WebCore::PlatformMediaSessionManager::beginInterruption):
+        (WebCore::PlatformMediaSessionManager::endInterruption):
+
 2017-01-30  Myles C. Maxfield  <mmaxfi...@apple.com>
 
         Correct spacing regression on inter-element complex path shaping on some fonts

Modified: trunk/Source/WebCore/platform/audio/PlatformMediaSessionManager.cpp (211385 => 211386)


--- trunk/Source/WebCore/platform/audio/PlatformMediaSessionManager.cpp	2017-01-30 22:01:07 UTC (rev 211385)
+++ trunk/Source/WebCore/platform/audio/PlatformMediaSessionManager.cpp	2017-01-30 22:09:01 UTC (rev 211386)
@@ -112,9 +112,9 @@
     LOG(Media, "PlatformMediaSessionManager::beginInterruption");
 
     m_interrupted = true;
-    Vector<PlatformMediaSession*> sessions = m_sessions;
-    for (auto* session : sessions)
-        session->beginInterruption(type);
+    forEachSession([type] (PlatformMediaSession& session, size_t) {
+        session.beginInterruption(type);
+    });
     updateSessionState();
 }
 
@@ -123,9 +123,9 @@
     LOG(Media, "PlatformMediaSessionManager::endInterruption");
 
     m_interrupted = false;
-    Vector<PlatformMediaSession*> sessions = m_sessions;
-    for (auto* session : sessions)
-        session->endInterruption(flags);
+    forEachSession([flags] (PlatformMediaSession& session, size_t) {
+        session.endInterruption(flags);
+    });
 }
 
 void PlatformMediaSessionManager::addSession(PlatformMediaSession& session)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to