diff options
author | Denton Liu <liu.denton+github@gmail.com> | 2016-07-08 04:34:05 +0800 |
---|---|---|
committer | Denton Liu <liu.denton+github@gmail.com> | 2016-07-08 04:34:05 +0800 |
commit | 06fa66b2e61388b0804014149d8559dad6208e00 (patch) | |
tree | 865c36d2f9c4c91861b93ca87df7da3efba2e76b | |
parent | ab3531ffc36bf2bc9819c42f620415e062f13b5f (diff) | |
download | dexon-solidity-06fa66b2e61388b0804014149d8559dad6208e00.tar.gz dexon-solidity-06fa66b2e61388b0804014149d8559dad6208e00.tar.zst dexon-solidity-06fa66b2e61388b0804014149d8559dad6208e00.zip |
Mention dangers of polymorphism
-rw-r--r-- | docs/control-structures.rst | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/docs/control-structures.rst b/docs/control-structures.rst index d3144c86..ab6f59fb 100644 --- a/docs/control-structures.rst +++ b/docs/control-structures.rst @@ -73,7 +73,10 @@ parentheses at the end perform the actual call. 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 may potentially - do just about anything. Be prepared in case it calls into other contracts of + 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 |