diff options
author | Bartek IwaĆczuk <biwanczuk@gmail.com> | 2023-04-27 20:50:46 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-27 20:50:46 +0200 |
commit | 6cd62ea5e969de258b1d308daf5bec91e73e79d3 (patch) | |
tree | 9f80438d87c92cf66e6b7636b532469675d68230 /serde_v8/magic/v8slice.rs | |
parent | c3d670dbc992ffaff02cd8df82335ee41e88596e (diff) |
chore: upgrade rusty_v8 to 0.71.0 (#18868)
Diffstat (limited to 'serde_v8/magic/v8slice.rs')
-rw-r--r-- | serde_v8/magic/v8slice.rs | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/serde_v8/magic/v8slice.rs b/serde_v8/magic/v8slice.rs index 073e75235..b1dd89770 100644 --- a/serde_v8/magic/v8slice.rs +++ b/serde_v8/magic/v8slice.rs @@ -91,9 +91,16 @@ impl FromV8 for V8Slice { scope: &mut v8::HandleScope, value: v8::Local<v8::Value>, ) -> Result<Self, crate::Error> { - to_ranged_buffer(scope, value) - .and_then(|(b, r)| Self::from_buffer(b, r)) - .map_err(|_| crate::Error::ExpectedBuffer(value_to_type_str(value))) + match to_ranged_buffer(scope, value) { + Ok((b, r)) => { + if b.get_backing_store().is_resizable_by_user_javascript() { + return Err(crate::Error::ResizableBackingStoreNotSupported); + } + Self::from_buffer(b, r) + .map_err(|_| crate::Error::ExpectedBuffer(value_to_type_str(value))) + } + Err(_) => Err(crate::Error::ExpectedBuffer(value_to_type_str(value))), + } } } |