diff --git a/content/media/test/crashtests/878328.html b/content/media/test/crashtests/878328.html new file mode 100644 index 000000000000..ec7b39871ba9 --- /dev/null +++ b/content/media/test/crashtests/878328.html @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/content/media/test/crashtests/crashtests.list b/content/media/test/crashtests/crashtests.list index d4758f806102..34f79d98941b 100644 --- a/content/media/test/crashtests/crashtests.list +++ b/content/media/test/crashtests/crashtests.list @@ -33,4 +33,5 @@ load 876252.html load 876834.html load 877820.html load 878014.html +load 878328.html load 878407.html diff --git a/content/media/webaudio/AudioParam.h b/content/media/webaudio/AudioParam.h index 53470cbe1527..e735b59b22f9 100644 --- a/content/media/webaudio/AudioParam.h +++ b/content/media/webaudio/AudioParam.h @@ -53,6 +53,10 @@ public: // object. void SetValueCurveAtTime(const Float32Array& aValues, double aStartTime, double aDuration, ErrorResult& aRv) { + if (!WebAudioUtils::IsTimeValid(aStartTime)) { + aRv.Throw(NS_ERROR_DOM_NOT_SUPPORTED_ERR); + return; + } AudioParamTimeline::SetValueCurveAtTime(aValues.Data(), aValues.Length(), aStartTime, aDuration, aRv); mCallback(mNode);