[{"check":"reentrancy","impact":"High","confidence":"Medium","description":"Reentrancy in Reentrancy.withdrawBalance (tests/reentrancy.sol#14-21):\n\tExternal calls:\n\t- ! (msg.sender.call.value(userBalance[msg.sender])()) (tests/reentrancy.sol#17-19)\n\tState variables written after the call(s):\n\t- userBalance (tests/reentrancy.sol#20)\n","elements":[{"type":"function","name":"withdrawBalance","source_mapping":{"start":299,"length":314,"filename":"tests/reentrancy.sol","lines":[14,15,16,17,18,19,20,21]},"contract":{"type":"contract","name":"Reentrancy","source_mapping":{"start":26,"length":1678,"filename":"tests/reentrancy.sol","lines":[3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51]}}},{"type":"external_calls","expression":"! (msg.sender.call.value(userBalance[msg.sender])())","source_mapping":{"start":478,"length":92,"filename":"tests/reentrancy.sol","lines":[17,18,19]}},{"type":"variables_written","name":"userBalance","expression":"userBalance[msg.sender] = 0","source_mapping":{"start":579,"length":27,"filename":"tests/reentrancy.sol","lines":[20]}}]}]