[{"check":"controlled-delegatecall","impact":"High","confidence":"Medium","description":"C.bad_delegate_call (tests/controlled_delegatecall.sol#8-11) uses delegatecall to a input-controlled function id\n\taddr_bad.delegatecall(data) (tests/controlled_delegatecall.sol#10)\n","function":{"name":"bad_delegate_call","source_mapping":{"start":92,"length":120,"filename":"tests/controlled_delegatecall.sol","lines":[8,9,10,11]},"contract":{"name":"C","source_mapping":{"start":0,"length":505,"filename":"tests/controlled_delegatecall.sol","lines":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]}}},"expressions":[{"expression":"addr_bad.delegatecall(data)","source_mapping":{"start":178,"length":27,"filename":"tests/controlled_delegatecall.sol","lines":[10]}}]},{"check":"controlled-delegatecall","impact":"High","confidence":"Medium","description":"C.bad_delegate_call2 (tests/controlled_delegatecall.sol#18-20) uses delegatecall to a input-controlled function id\n\taddr_bad.delegatecall(func_id,data) (tests/controlled_delegatecall.sol#19)\n","function":{"name":"bad_delegate_call2","source_mapping":{"start":307,"length":92,"filename":"tests/controlled_delegatecall.sol","lines":[18,19,20]},"contract":{"name":"C","source_mapping":{"start":0,"length":505,"filename":"tests/controlled_delegatecall.sol","lines":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]}}},"expressions":[{"expression":"addr_bad.delegatecall(func_id,data)","source_mapping":{"start":356,"length":36,"filename":"tests/controlled_delegatecall.sol","lines":[19]}}]}]