Title: [199989] releases/WebKitGTK/webkit-2.12/Source/WebCore
Revision
199989
Author
[email protected]
Date
2016-04-25 03:59:06 -0700 (Mon, 25 Apr 2016)

Log Message

Merge r199116 - CRASH in AudioDestinationNode::render()
https://bugs.webkit.org/show_bug.cgi?id=156308
<rdar://problem/25468815>

Reviewed by Eric Carlson.

AudioDestinationNode::render() will crash when passed in a zero-length frame count. Rather than get into
this bad state, ASSERT() and bail out early in this case.

Also, address the situation in AudioDestinationIOS::render which can cause this 0-frame count to occur.

* Modules/webaudio/AudioDestinationNode.cpp:
(WebCore::AudioDestinationNode::render):
* platform/audio/ios/AudioDestinationIOS.cpp:
(WebCore::AudioDestinationIOS::render):

Modified Paths

Diff

Modified: releases/WebKitGTK/webkit-2.12/Source/WebCore/ChangeLog (199988 => 199989)


--- releases/WebKitGTK/webkit-2.12/Source/WebCore/ChangeLog	2016-04-25 10:32:43 UTC (rev 199988)
+++ releases/WebKitGTK/webkit-2.12/Source/WebCore/ChangeLog	2016-04-25 10:59:06 UTC (rev 199989)
@@ -1,3 +1,22 @@
+2016-04-06  Jer Noble  <[email protected]>
+
+        CRASH in AudioDestinationNode::render()
+        https://bugs.webkit.org/show_bug.cgi?id=156308
+        <rdar://problem/25468815>
+
+        Reviewed by Eric Carlson.
+
+        
+        AudioDestinationNode::render() will crash when passed in a zero-length frame count. Rather than get into
+        this bad state, ASSERT() and bail out early in this case.
+
+        Also, address the situation in AudioDestinationIOS::render which can cause this 0-frame count to occur.
+
+        * Modules/webaudio/AudioDestinationNode.cpp:
+        (WebCore::AudioDestinationNode::render):
+        * platform/audio/ios/AudioDestinationIOS.cpp:
+        (WebCore::AudioDestinationIOS::render):
+
 2016-04-06  Joanmarie Diggs  <[email protected]>
 
         REGRESSION(r195463): [GTK] accessibility/roles-computedRoleString.html and accessibility/roles-exposed.html failing

Modified: releases/WebKitGTK/webkit-2.12/Source/WebCore/Modules/webaudio/AudioDestinationNode.cpp (199988 => 199989)


--- releases/WebKitGTK/webkit-2.12/Source/WebCore/Modules/webaudio/AudioDestinationNode.cpp	2016-04-25 10:32:43 UTC (rev 199988)
+++ releases/WebKitGTK/webkit-2.12/Source/WebCore/Modules/webaudio/AudioDestinationNode.cpp	2016-04-25 10:59:06 UTC (rev 199989)
@@ -68,6 +68,13 @@
         return;
     }
 
+    ASSERT(numberOfFrames);
+    if (!numberOfFrames) {
+        destinationBus->zero();
+        setIsSilent(true);
+        return;
+    }
+
     // Let the context take care of any business at the start of each render quantum.
     context().handlePreRenderTasks();
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to