diff options
author | Fernando Jiménez Moreno <ferjmoreno@gmail.com> | 2018-09-07 12:58:44 +0200 |
---|---|---|
committer | Fernando Jiménez Moreno <ferjmoreno@gmail.com> | 2018-09-19 06:54:16 +0200 |
commit | b8ade9353894e339781f99f725edab02359c10b5 (patch) | |
tree | e7be74351d6a5ae9ccc3255a9f85275816616b54 /components/script | |
parent | e80ac0000f6826568d526810373b4f59aeebeb27 (diff) | |
download | servo-b8ade9353894e339781f99f725edab02359c10b5.tar.gz servo-b8ade9353894e339781f99f725edab02359c10b5.zip |
Throw when trying to copy AudioBuffer data from or to a SharedArrayBuffer
Diffstat (limited to 'components/script')
-rw-r--r-- | components/script/dom/audiobuffer.rs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/components/script/dom/audiobuffer.rs b/components/script/dom/audiobuffer.rs index ccce8510586..8a2ae5e158b 100644 --- a/components/script/dom/audiobuffer.rs +++ b/components/script/dom/audiobuffer.rs @@ -235,6 +235,10 @@ impl AudioBufferMethods for AudioBuffer { channel_number: u32, start_in_channel: u32, ) -> Fallible<()> { + if destination.is_shared() { + return Err(Error::Type("Cannot copy to shared buffer".to_owned())); + } + if channel_number >= self.number_of_channels || start_in_channel > self.length { return Err(Error::IndexSize); } @@ -276,6 +280,10 @@ impl AudioBufferMethods for AudioBuffer { channel_number: u32, start_in_channel: u32, ) -> Fallible<()> { + if source.is_shared() { + return Err(Error::Type("Cannot copy from shared buffer".to_owned())); + } + if channel_number >= self.number_of_channels || start_in_channel > (source.len() as u32) { return Err(Error::IndexSize); } |