You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Jan 17, 2022. It is now read-only.
If this contract is deployed the same modification to the memory happens before ret is called (call 0). However the memory at 0..3 is part of the contract code that is returned and was initialized correctly with the data section to \00asm. After func 2 is called Parity Ethereum will read the memory at 0..51 and store this as the contract data. With the memory modification this now starts with \ff\ff\ff\ff and is not valid Wasm.
The text was updated successfully, but these errors were encountered:
The contract created by a pwasm module might be invalid if the
deploy
code modifies memory.For example consider the following Wasm module.
Here the
$deploy
function modifies the memory at location0..3
by setting all bytes to0xff
.With
wasm-build
this code is transformed toIf this contract is deployed the same modification to the memory happens before
ret
is called (call 0
). However the memory at0..3
is part of the contract code that is returned and was initialized correctly with thedata
section to\00asm
. Afterfunc 2
is called Parity Ethereum will read the memory at0..51
and store this as the contract data. With the memory modification this now starts with\ff\ff\ff\ff
and is not valid Wasm.The text was updated successfully, but these errors were encountered: