Title: [238291] trunk/Source/WebCore
Revision
238291
Author
jer.no...@apple.com
Date
2018-11-16 11:06:35 -0800 (Fri, 16 Nov 2018)

Log Message

An early return from updateSchedulingInfo can leave some variables uninitialized.
https://bugs.webkit.org/show_bug.cgi?id=191755
<rdar://problem/39910089>

Reviewed by Brent Fulgham.

* Modules/webaudio/AudioBufferSourceNode.cpp:
(WebCore::AudioBufferSourceNode::process):
* Modules/webaudio/AudioScheduledSourceNode.cpp:
(WebCore::AudioScheduledSourceNode::updateSchedulingInfo):
* Modules/webaudio/OscillatorNode.cpp:
(WebCore::OscillatorNode::process):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (238290 => 238291)


--- trunk/Source/WebCore/ChangeLog	2018-11-16 19:00:50 UTC (rev 238290)
+++ trunk/Source/WebCore/ChangeLog	2018-11-16 19:06:35 UTC (rev 238291)
@@ -1,3 +1,18 @@
+2018-11-16  Jer Noble  <jer.no...@apple.com>
+
+        An early return from updateSchedulingInfo can leave some variables uninitialized.
+        https://bugs.webkit.org/show_bug.cgi?id=191755
+        <rdar://problem/39910089>
+
+        Reviewed by Brent Fulgham.
+
+        * Modules/webaudio/AudioBufferSourceNode.cpp:
+        (WebCore::AudioBufferSourceNode::process):
+        * Modules/webaudio/AudioScheduledSourceNode.cpp:
+        (WebCore::AudioScheduledSourceNode::updateSchedulingInfo):
+        * Modules/webaudio/OscillatorNode.cpp:
+        (WebCore::OscillatorNode::process):
+
 2018-11-16  Alicia Boya GarcĂ­a  <ab...@igalia.com>
 
         [MSE][GStreamer] Ignore caps notifications when tearing down the pipeline

Modified: trunk/Source/WebCore/Modules/webaudio/AudioBufferSourceNode.cpp (238290 => 238291)


--- trunk/Source/WebCore/Modules/webaudio/AudioBufferSourceNode.cpp	2018-11-16 19:00:50 UTC (rev 238290)
+++ trunk/Source/WebCore/Modules/webaudio/AudioBufferSourceNode.cpp	2018-11-16 19:06:35 UTC (rev 238291)
@@ -111,8 +111,8 @@
         return;
     }
 
-    size_t quantumFrameOffset;
-    size_t bufferFramesToProcess;
+    size_t quantumFrameOffset = 0;
+    size_t bufferFramesToProcess = 0;
     updateSchedulingInfo(framesToProcess, outputBus, quantumFrameOffset, bufferFramesToProcess);
 
     if (!bufferFramesToProcess) {

Modified: trunk/Source/WebCore/Modules/webaudio/AudioScheduledSourceNode.cpp (238290 => 238291)


--- trunk/Source/WebCore/Modules/webaudio/AudioScheduledSourceNode.cpp	2018-11-16 19:00:50 UTC (rev 238290)
+++ trunk/Source/WebCore/Modules/webaudio/AudioScheduledSourceNode.cpp	2018-11-16 19:06:35 UTC (rev 238291)
@@ -53,6 +53,9 @@
 
 void AudioScheduledSourceNode::updateSchedulingInfo(size_t quantumFrameSize, AudioBus& outputBus, size_t& quantumFrameOffset, size_t& nonSilentFramesToProcess)
 {
+    nonSilentFramesToProcess = 0;
+    quantumFrameOffset = 0;
+
     ASSERT(quantumFrameSize == AudioNode::ProcessingSizeInFrames);
     if (quantumFrameSize != AudioNode::ProcessingSizeInFrames)
         return;
@@ -75,7 +78,6 @@
     if (m_playbackState == UNSCHEDULED_STATE || m_playbackState == FINISHED_STATE || startFrame >= quantumEndFrame) {
         // Output silence.
         outputBus.zero();
-        nonSilentFramesToProcess = 0;
         return;
     }
 

Modified: trunk/Source/WebCore/Modules/webaudio/OscillatorNode.cpp (238290 => 238291)


--- trunk/Source/WebCore/Modules/webaudio/OscillatorNode.cpp	2018-11-16 19:00:50 UTC (rev 238290)
+++ trunk/Source/WebCore/Modules/webaudio/OscillatorNode.cpp	2018-11-16 19:06:35 UTC (rev 238291)
@@ -205,8 +205,8 @@
         return;
     }
 
-    size_t quantumFrameOffset;
-    size_t nonSilentFramesToProcess;
+    size_t quantumFrameOffset = 0;
+    size_t nonSilentFramesToProcess = 0;
     updateSchedulingInfo(framesToProcess, outputBus, quantumFrameOffset, nonSilentFramesToProcess);
 
     if (!nonSilentFramesToProcess) {
@@ -231,7 +231,7 @@
     float frequency = 0;
     float* higherWaveData = nullptr;
     float* lowerWaveData = nullptr;
-    float tableInterpolationFactor;
+    float tableInterpolationFactor = 0;
 
     if (!hasSampleAccurateValues) {
         frequency = m_frequency->smoothedValue();
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to