solidity icon indicating copy to clipboard operation
solidity copied to clipboard

Event tracking doesn't handle references

Open dddejan opened this issue 5 years ago • 0 comments
trafficstars

pragma solidity >=0.5.0;

contract EventTrackingStorageRef {

  mapping(address=>bool) data;

  /// @notice tracks-changes-in data
  event e(address a);

  /// @notice emits e
  function f(address a) public {
    mapping(address=>bool) storage ref = data;
    ref[a] = true;
  }
}

In the contract above, function f should emit the event but it doesn't, this should be reported as error. Current version says

$ ./solc-verify.py issue.sol --output .
EventTrackingStorageRef::f: OK
EventTrackingStorageRef::[implicit_constructor]: OK
Use --show-warnings to see 1 warning.
No errors found.

We need to check if the reference potentially updates the tracked data which is currently not done.

dddejan avatar Jul 09 '20 15:07 dddejan