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
vyper Version (output of vyper --version): 95bf73f
OS: linux
Python Version (output of python --version): 3.10.8
What's your issue about?
A contract that only has internal functions besides the constructor may still compile to executable code. Internals are not pruned, and execution of the internal functions section is not guarded. Upon calling the contract, execution will start at the first internal function. However, execution will generally fail when POPping the RETURN_PC from the stack, which should be empty upon function exit.
The text was updated successfully, but these errors were encountered:
charles-cooper
changed the title
bug: contract with only internal functions is executable
contract with only internal functions is executable
May 23, 2023
Version Information
vyper --version
): 95bf73fpython --version
): 3.10.8What's your issue about?
A contract that only has internal functions besides the constructor may still compile to executable code. Internals are not pruned, and execution of the internal functions section is not guarded. Upon calling the contract, execution will start at the first internal function. However, execution will generally fail when
POP
ping theRETURN_PC
from the stack, which should be empty upon function exit.h/t @trocher @ptrcarta
How can it be fixed?
Fill this in if you know how to fix it.
The text was updated successfully, but these errors were encountered: