diff options
author | chriseth <c@ethdev.com> | 2016-07-09 01:54:01 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-07-09 01:54:01 +0800 |
commit | f8d67a8ea652105e0e3e3ee6297fe3ff7b6476f3 (patch) | |
tree | a8e97f557f000e8336dba6ca03a6ae7f20102c12 /docs/control-structures.rst | |
parent | 8df9d49c4457e03362246b5dd1c6a9b0298d8df8 (diff) | |
parent | d94d2fc901ad17edb28212961ccbe993d8447e1d (diff) | |
download | dexon-solidity-f8d67a8ea652105e0e3e3ee6297fe3ff7b6476f3.tar dexon-solidity-f8d67a8ea652105e0e3e3ee6297fe3ff7b6476f3.tar.gz dexon-solidity-f8d67a8ea652105e0e3e3ee6297fe3ff7b6476f3.tar.bz2 dexon-solidity-f8d67a8ea652105e0e3e3ee6297fe3ff7b6476f3.tar.lz dexon-solidity-f8d67a8ea652105e0e3e3ee6297fe3ff7b6476f3.tar.xz dexon-solidity-f8d67a8ea652105e0e3e3ee6297fe3ff7b6476f3.tar.zst dexon-solidity-f8d67a8ea652105e0e3e3ee6297fe3ff7b6476f3.zip |
Merge pull request #700 from Denton-L/sec
Minor Changes to #693
Diffstat (limited to 'docs/control-structures.rst')
-rw-r--r-- | docs/control-structures.rst | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/docs/control-structures.rst b/docs/control-structures.rst index 6d615caf..ab6f59fb 100644 --- a/docs/control-structures.rst +++ b/docs/control-structures.rst @@ -70,15 +70,18 @@ only (locally) sets the value and amount of gas sent with the function call and parentheses at the end perform the actual call. .. warning:: - Any interaction with another contract imposes a certain danger, especially + Any interaction with another contract imposes a potential danger, especially if the source code of the contract is not known in advance. The current - contract hands over control to the called contract and that might do - just about anything. Be prepared that it calls into other contracts of - your system and perhaps even back into the calling contract before your + contract hands over control to the called contract and that may potentially + do just about anything. Even if the called contract inherits from a known parent contract, + the inheriting contract is only required to have a correct interface. The + implementation of the contract, however, can be completely arbitrary and thus, + pose a danger. In addition, be prepared in case it calls into other contracts of + your system or even back into the calling contract before the first call returns. This means that the called contract can change state variables of the calling contract - via its functions. Write your functions in a way that e.g. calls to - external functions happen after any changes to state variables in your contract, + via its functions. Write your functions in a way that, for example, calls to + external functions happen after any changes to state variables in your contract so your contract is not vulnerable to a recursive call exploit. Named Calls and Anonymous Function Parameters |