mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-27 13:57:58 +00:00
read_storage panics (#3589)
* Add a failing test case * Actual fix * read_child_storage, fix wasm side * Bump the impl version. * Alternative (#3597) * Update with_std.rs * Update with_std.rs * Update wasm_executor.rs * Update wasm_executor.rs * Update with_std.rs * Update wasm_executor.rs
This commit is contained in:
committed by
Gavin Wood
parent
d136b8eb81
commit
098d880cf9
@@ -629,9 +629,9 @@ impl_wasm_host_interface! {
|
||||
)?;
|
||||
|
||||
if let Some(value) = maybe_value {
|
||||
let value = &value[value_offset as usize..];
|
||||
let written = std::cmp::min(value_len as usize, value.len());
|
||||
context.write_memory(value_data, &value[..written])
|
||||
let data = &value[value.len().min(value_offset as usize)..];
|
||||
let written = std::cmp::min(value_len as usize, data.len());
|
||||
context.write_memory(value_data, &data[..written])
|
||||
.map_err(|_| "Invalid attempt to set value in ext_get_storage_into")?;
|
||||
Ok(value.len() as u32)
|
||||
} else {
|
||||
@@ -658,10 +658,10 @@ impl_wasm_host_interface! {
|
||||
)?;
|
||||
|
||||
if let Some(value) = maybe_value {
|
||||
let value = &value[value_offset as usize..];
|
||||
let written = std::cmp::min(value_len as usize, value.len());
|
||||
context.write_memory(value_data, &value[..written])
|
||||
.map_err(|_| "Invalid attempt to set value in ext_get_child_storage_into")?;
|
||||
let data = &value[value.len().min(value_offset as usize)..];
|
||||
let written = std::cmp::min(value_len as usize, data.len());
|
||||
context.write_memory(value_data, &data[..written])
|
||||
.map_err(|_| "Invalid attempt to get value in ext_get_child_storage_into")?;
|
||||
Ok(value.len() as u32)
|
||||
} else {
|
||||
Ok(u32::max_value())
|
||||
|
||||
Reference in New Issue
Block a user