mirror of https://github.com/ConsenSys/mythril
blockchainethereumsmart-contractssoliditysecurityprogram-analysissecurity-analysissymbolic-execution
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
86 lines
2.9 KiB
86 lines
2.9 KiB
==== Dependence on predictable environment variable ====
|
|
Type: Warning
|
|
Contract: WeakRandom
|
|
Function name: _function_0xe9874106
|
|
PC address: 1285
|
|
In the function `'_function_0xe9874106'` the following predictable state variables are used to determine Ether recipient:
|
|
- block.coinbase
|
|
|
|
--------------------
|
|
In file: <TESTDATA>/inputs/weak_random.sol:47
|
|
|
|
winningAddress.transfer(prize)
|
|
|
|
--------------------
|
|
|
|
==== Ether send ====
|
|
Type: Warning
|
|
Contract: WeakRandom
|
|
Function name: _function_0xe9874106
|
|
PC address: 1285
|
|
In the function `'_function_0xe9874106'` a non-zero amount of Ether is sent to an address taken from storage slot 0.
|
|
There is a check on storage index 0. This storage slot can be written to by calling the function 'fallback'.
|
|
|
|
There is a check on storage index 1. This storage slot can be written to by calling the function 'fallback'.
|
|
There is a check on storage index 1. This storage slot can be written to by calling the function 'fallback'.
|
|
--------------------
|
|
In file: <TESTDATA>/inputs/weak_random.sol:47
|
|
|
|
winningAddress.transfer(prize)
|
|
|
|
--------------------
|
|
|
|
==== Exception state ====
|
|
Type: Informational
|
|
Contract: WeakRandom
|
|
Function name: fallback
|
|
PC address: 356
|
|
A reachable exception (opcode 0xfe) has been detected. This can be caused by type errors, division by zero, out-of-bounds array access, or assert violations. This is acceptable in most situations. Note however that assert() should only be used to check invariants. Use require() for regular input checking.
|
|
--------------------
|
|
In file: <TESTDATA>/inputs/weak_random.sol:11
|
|
|
|
prize / totalTickets
|
|
|
|
--------------------
|
|
|
|
==== Exception state ====
|
|
Type: Informational
|
|
Contract: WeakRandom
|
|
Function name: _function_0xe9874106
|
|
PC address: 146
|
|
A reachable exception (opcode 0xfe) has been detected. This can be caused by type errors, division by zero, out-of-bounds array access, or assert violations. This is acceptable in most situations. Note however that assert() should only be used to check invariants. Use require() for regular input checking.
|
|
--------------------
|
|
In file: <TESTDATA>/inputs/weak_random.sol:11
|
|
|
|
prize / totalTickets
|
|
|
|
--------------------
|
|
|
|
==== Integer Overflow ====
|
|
Type: Warning
|
|
Contract: WeakRandom
|
|
Function name: _function_0xe9874106
|
|
PC address: 1216
|
|
A possible integer overflow exists in the function `_function_0xe9874106`.
|
|
The addition may result in a value higher than the maximum representable integer.
|
|
--------------------
|
|
In file: <TESTDATA>/inputs/weak_random.sol:45
|
|
|
|
gameId++
|
|
|
|
--------------------
|
|
|
|
==== Integer Overflow ====
|
|
Type: Warning
|
|
Contract: WeakRandom
|
|
Function name: _function_0xe9874106
|
|
PC address: 262
|
|
A possible integer overflow exists in the function `_function_0xe9874106`.
|
|
The addition may result in a value higher than the maximum representable integer.
|
|
--------------------
|
|
In file: <TESTDATA>/inputs/weak_random.sol:22
|
|
|
|
contestants[currTicket] = Contestant(msg.sender, gameId)
|
|
|
|
--------------------
|
|
|
|
|