mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Merge pull request #10909 from miohtama/patch-3
Small clean up on call stack section
This commit is contained in:
commit
ec62d12319
@ -181,13 +181,13 @@ Sending and Receiving Ether
|
||||
contract. Again, the best practice here is to use a :ref:`"withdraw"
|
||||
pattern instead of a "send" pattern <withdrawal_pattern>`.
|
||||
|
||||
Callstack Depth
|
||||
===============
|
||||
Call Stack Depth
|
||||
================
|
||||
|
||||
External function calls can fail any time because they exceed the maximum
|
||||
call stack of 1024. In such situations, Solidity throws an exception.
|
||||
call stack size limit of 1024. In such situations, Solidity throws an exception.
|
||||
Malicious actors might be able to force the call stack to a high value
|
||||
before they interact with your contract.
|
||||
before they interact with your contract. Note that, since `Tangerine Whistle <https://eips.ethereum.org/EIPS/eip-608>`_ hardfork, the `63/64 rule <https://eips.ethereum.org/EIPS/eip-150>`_ makes call stack depth attack impractical. Also note that the call stack and the expression stack are unrelated, even though both have a size limit of 1024 stack slots.
|
||||
|
||||
Note that ``.send()`` does **not** throw an exception if the call stack is
|
||||
depleted but rather returns ``false`` in that case. The low-level functions
|
||||
|
Loading…
Reference in New Issue
Block a user