Security analysis tool for EVM bytecode. Supports smart contracts built for Ethereum, Hedera, Quorum, Vechain, Roostock, Tron and other EVM-compatible blockchains.
Function transferOwnership(address) retrieves the transaction origin (tx.origin) using the ORIGIN opcode. Use tx.sender instead.
See also: https://solidity.readthedocs.io/en/develop/security-considerations.html#tx-origin
In *origin.sol:*
```
tx.origin
```
## CALL with gas to dynamic address
- Type: Warning
- Contract: Reentrancy
- Function name: withdraw(uint256)
- PC address: 552
### Description
The function withdraw(uint256) contains a function call to the address of the transaction sender. The available gas is forwarded to the called contract. Make sure that the logic of the calling contract is not adversely affected if the called contract misbehaves (e.g. reentrancy).
In *reentrancy.sol:*
```
msg.sender.call.value(_amount)()
```
## Unchecked CALL return value
- Type: Informational
- Contract: Reentrancy
- Function name: withdraw(uint256)
- PC address: 552
### Description
The function withdraw(uint256) contains a call to msg.sender.
The return value of this call is not checked. Note that the function will continue to execute with a return value of '0' if the called contract throws.