[ [ { "elements": [ { "type": "function", "name": "bad4", "source_mapping": { "start": 1017, "length": 172, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 47, 48, 49, 50, 51, 52 ], "starting_column": 5, "ending_column": 6 }, "type_specific_fields": { "parent": { "type": "contract", "name": "ReentrancyBenign", "source_mapping": { "start": 28, "length": 1569, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72 ], "starting_column": 1, "ending_column": 0 } }, "signature": "bad4(address)" } }, { "type": "node", "name": "externalCaller(target)", "source_mapping": { "start": 1064, "length": 22, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 48 ], "starting_column": 9, "ending_column": 31 }, "type_specific_fields": { "parent": { "type": "function", "name": "bad4", "source_mapping": { "start": 1017, "length": 172, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 47, 48, 49, 50, 51, 52 ], "starting_column": 5, "ending_column": 6 }, "type_specific_fields": { "parent": { "type": "contract", "name": "ReentrancyBenign", "source_mapping": { "start": 28, "length": 1569, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72 ], "starting_column": 1, "ending_column": 0 } }, "signature": "bad4(address)" } } }, "additional_fields": { "underlying_type": "external_calls" } }, { "type": "node", "name": "address(target).call()", "source_mapping": { "start": 1387, "length": 24, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 61 ], "starting_column": 9, "ending_column": 33 }, "type_specific_fields": { "parent": { "type": "function", "name": "externalCaller", "source_mapping": { "start": 1329, "length": 89, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 60, 61, 62 ], "starting_column": 5, "ending_column": 6 }, "type_specific_fields": { "parent": { "type": "contract", "name": "ReentrancyBenign", "source_mapping": { "start": 28, "length": 1569, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72 ], "starting_column": 1, "ending_column": 0 } }, "signature": "externalCaller(address)" } } }, "additional_fields": { "underlying_type": "external_calls_sending_eth" } }, { "type": "node", "name": "ethSender(address(0))", "source_mapping": { "start": 1096, "length": 21, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 49 ], "starting_column": 9, "ending_column": 30 }, "type_specific_fields": { "parent": { "type": "function", "name": "bad4", "source_mapping": { "start": 1017, "length": 172, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 47, 48, 49, 50, 51, 52 ], "starting_column": 5, "ending_column": 6 }, "type_specific_fields": { "parent": { "type": "contract", "name": "ReentrancyBenign", "source_mapping": { "start": 28, "length": 1569, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72 ], "starting_column": 1, "ending_column": 0 } }, "signature": "bad4(address)" } } }, "additional_fields": { "underlying_type": "external_calls" } }, { "type": "node", "name": "address(target).call.value(1)()", "source_mapping": { "start": 1477, "length": 33, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 65 ], "starting_column": 9, "ending_column": 42 }, "type_specific_fields": { "parent": { "type": "function", "name": "ethSender", "source_mapping": { "start": 1424, "length": 93, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 64, 65, 66 ], "starting_column": 5, "ending_column": 6 }, "type_specific_fields": { "parent": { "type": "contract", "name": "ReentrancyBenign", "source_mapping": { "start": 28, "length": 1569, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72 ], "starting_column": 1, "ending_column": 0 } }, "signature": "ethSender(address)" } } }, "additional_fields": { "underlying_type": "external_calls_sending_eth" } }, { "type": "node", "name": "externalCaller(target)", "source_mapping": { "start": 1064, "length": 22, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 48 ], "starting_column": 9, "ending_column": 31 }, "type_specific_fields": { "parent": { "type": "function", "name": "bad4", "source_mapping": { "start": 1017, "length": 172, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 47, 48, 49, 50, 51, 52 ], "starting_column": 5, "ending_column": 6 }, "type_specific_fields": { "parent": { "type": "contract", "name": "ReentrancyBenign", "source_mapping": { "start": 28, "length": 1569, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72 ], "starting_column": 1, "ending_column": 0 } }, "signature": "bad4(address)" } } }, "additional_fields": { "underlying_type": "external_calls_sending_eth" } }, { "type": "node", "name": "address(target).call()", "source_mapping": { "start": 1387, "length": 24, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 61 ], "starting_column": 9, "ending_column": 33 }, "type_specific_fields": { "parent": { "type": "function", "name": "externalCaller", "source_mapping": { "start": 1329, "length": 89, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 60, 61, 62 ], "starting_column": 5, "ending_column": 6 }, "type_specific_fields": { "parent": { "type": "contract", "name": "ReentrancyBenign", "source_mapping": { "start": 28, "length": 1569, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72 ], "starting_column": 1, "ending_column": 0 } }, "signature": "externalCaller(address)" } } }, "additional_fields": { "underlying_type": "external_calls_sending_eth" } }, { "type": "node", "name": "ethSender(address(0))", "source_mapping": { "start": 1096, "length": 21, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 49 ], "starting_column": 9, "ending_column": 30 }, "type_specific_fields": { "parent": { "type": "function", "name": "bad4", "source_mapping": { "start": 1017, "length": 172, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 47, 48, 49, 50, 51, 52 ], "starting_column": 5, "ending_column": 6 }, "type_specific_fields": { "parent": { "type": "contract", "name": "ReentrancyBenign", "source_mapping": { "start": 28, "length": 1569, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72 ], "starting_column": 1, "ending_column": 0 } }, "signature": "bad4(address)" } } }, "additional_fields": { "underlying_type": "external_calls_sending_eth" } }, { "type": "node", "name": "address(target).call.value(1)()", "source_mapping": { "start": 1477, "length": 33, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 65 ], "starting_column": 9, "ending_column": 42 }, "type_specific_fields": { "parent": { "type": "function", "name": "ethSender", "source_mapping": { "start": 1424, "length": 93, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 64, 65, 66 ], "starting_column": 5, "ending_column": 6 }, "type_specific_fields": { "parent": { "type": "contract", "name": "ReentrancyBenign", "source_mapping": { "start": 28, "length": 1569, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72 ], "starting_column": 1, "ending_column": 0 } }, "signature": "ethSender(address)" } } }, "additional_fields": { "underlying_type": "external_calls_sending_eth" } }, { "type": "node", "name": "varChanger()", "source_mapping": { "start": 1127, "length": 12, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 50 ], "starting_column": 9, "ending_column": 21 }, "type_specific_fields": { "parent": { "type": "function", "name": "bad4", "source_mapping": { "start": 1017, "length": 172, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 47, 48, 49, 50, 51, 52 ], "starting_column": 5, "ending_column": 6 }, "type_specific_fields": { "parent": { "type": "contract", "name": "ReentrancyBenign", "source_mapping": { "start": 28, "length": 1569, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72 ], "starting_column": 1, "ending_column": 0 } }, "signature": "bad4(address)" } } }, "additional_fields": { "underlying_type": "variables_written", "variable_name": "anotherVariableToChange" } }, { "type": "node", "name": "anotherVariableToChange ++", "source_mapping": { "start": 1563, "length": 25, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 69 ], "starting_column": 9, "ending_column": 34 }, "type_specific_fields": { "parent": { "type": "function", "name": "varChanger", "source_mapping": { "start": 1523, "length": 72, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 68, 69, 70 ], "starting_column": 5, "ending_column": 6 }, "type_specific_fields": { "parent": { "type": "contract", "name": "ReentrancyBenign", "source_mapping": { "start": 28, "length": 1569, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72 ], "starting_column": 1, "ending_column": 0 } }, "signature": "varChanger()" } } }, "additional_fields": { "underlying_type": "variables_written", "variable_name": "anotherVariableToChange" } } ], "description": "Reentrancy in ReentrancyBenign.bad4(address) (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#47-52):\n\tExternal calls:\n\t- externalCaller(target) (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#48)\n\t\t- address(target).call() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#61)\n\t- ethSender(address(0)) (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#49)\n\t\t- address(target).call.value(1)() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#65)\n\tExternal calls sending eth:\n\t- ethSender(address(0)) (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#49)\n\t\t- address(target).call.value(1)() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#65)\n\tState variables written after the call(s):\n\t- varChanger() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#50)\n\t\t- anotherVariableToChange ++ (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#69)\n", "markdown": "Reentrancy in [ReentrancyBenign.bad4(address)](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L47-L52):\n\tExternal calls:\n\t- [externalCaller(target)](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L48)\n\t\t- [address(target).call()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L61)\n\t- [ethSender(address(0))](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L49)\n\t\t- [address(target).call.value(1)()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L65)\n\tExternal calls sending eth:\n\t- [ethSender(address(0))](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L49)\n\t\t- [address(target).call.value(1)()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L65)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L50)\n\t\t- [anotherVariableToChange ++](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L69)\n", "first_markdown_element": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L47-L52", "id": "09715812e28a5537647f577ab2ae708e7a3c903caf67e0ea43e15320f8a602c5", "check": "reentrancy-benign", "impact": "Low", "confidence": "Medium" }, { "elements": [ { "type": "function", "name": "bad1", "source_mapping": { "start": 496, "length": 135, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 24, 25, 26, 27, 28 ], "starting_column": 5, "ending_column": 6 }, "type_specific_fields": { "parent": { "type": "contract", "name": "ReentrancyBenign", "source_mapping": { "start": 28, "length": 1569, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72 ], "starting_column": 1, "ending_column": 0 } }, "signature": "bad1(address)" } }, { "type": "node", "name": "(success) = target.call()", "source_mapping": { "start": 543, "length": 33, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 25 ], "starting_column": 9, "ending_column": 42 }, "type_specific_fields": { "parent": { "type": "function", "name": "bad1", "source_mapping": { "start": 496, "length": 135, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 24, 25, 26, 27, 28 ], "starting_column": 5, "ending_column": 6 }, "type_specific_fields": { "parent": { "type": "contract", "name": "ReentrancyBenign", "source_mapping": { "start": 28, "length": 1569, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72 ], "starting_column": 1, "ending_column": 0 } }, "signature": "bad1(address)" } } }, "additional_fields": { "underlying_type": "external_calls" } }, { "type": "node", "name": "(success) = target.call()", "source_mapping": { "start": 543, "length": 33, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 25 ], "starting_column": 9, "ending_column": 42 }, "type_specific_fields": { "parent": { "type": "function", "name": "bad1", "source_mapping": { "start": 496, "length": 135, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 24, 25, 26, 27, 28 ], "starting_column": 5, "ending_column": 6 }, "type_specific_fields": { "parent": { "type": "contract", "name": "ReentrancyBenign", "source_mapping": { "start": 28, "length": 1569, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72 ], "starting_column": 1, "ending_column": 0 } }, "signature": "bad1(address)" } } }, "additional_fields": { "underlying_type": "external_calls_sending_eth" } }, { "type": "node", "name": "counter += 1", "source_mapping": { "start": 612, "length": 12, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 27 ], "starting_column": 9, "ending_column": 21 }, "type_specific_fields": { "parent": { "type": "function", "name": "bad1", "source_mapping": { "start": 496, "length": 135, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 24, 25, 26, 27, 28 ], "starting_column": 5, "ending_column": 6 }, "type_specific_fields": { "parent": { "type": "contract", "name": "ReentrancyBenign", "source_mapping": { "start": 28, "length": 1569, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72 ], "starting_column": 1, "ending_column": 0 } }, "signature": "bad1(address)" } } }, "additional_fields": { "underlying_type": "variables_written", "variable_name": "counter" } } ], "description": "Reentrancy in ReentrancyBenign.bad1(address) (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#24-28):\n\tExternal calls:\n\t- (success) = target.call() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#25)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#27)\n", "markdown": "Reentrancy in [ReentrancyBenign.bad1(address)](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L24-L28):\n\tExternal calls:\n\t- [(success) = target.call()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L25)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L27)\n", "first_markdown_element": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L24-L28", "id": "182811ddaccda6e1fc2f65594a377c1592929956b04e6e52c5ad7c0121f0c809", "check": "reentrancy-benign", "impact": "Low", "confidence": "Medium" }, { "elements": [ { "type": "function", "name": "bad2", "source_mapping": { "start": 637, "length": 243, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39 ], "starting_column": 5, "ending_column": 6 }, "type_specific_fields": { "parent": { "type": "contract", "name": "ReentrancyBenign", "source_mapping": { "start": 28, "length": 1569, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72 ], "starting_column": 1, "ending_column": 0 } }, "signature": "bad2(address)" } }, { "type": "node", "name": "(success) = target.call()", "source_mapping": { "start": 684, "length": 33, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 31 ], "starting_column": 9, "ending_column": 42 }, "type_specific_fields": { "parent": { "type": "function", "name": "bad2", "source_mapping": { "start": 637, "length": 243, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39 ], "starting_column": 5, "ending_column": 6 }, "type_specific_fields": { "parent": { "type": "contract", "name": "ReentrancyBenign", "source_mapping": { "start": 28, "length": 1569, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72 ], "starting_column": 1, "ending_column": 0 } }, "signature": "bad2(address)" } } }, "additional_fields": { "underlying_type": "external_calls" } }, { "type": "node", "name": "address(target).call.value(1000)()", "source_mapping": { "start": 754, "length": 36, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 33 ], "starting_column": 13, "ending_column": 49 }, "type_specific_fields": { "parent": { "type": "function", "name": "bad2", "source_mapping": { "start": 637, "length": 243, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39 ], "starting_column": 5, "ending_column": 6 }, "type_specific_fields": { "parent": { "type": "contract", "name": "ReentrancyBenign", "source_mapping": { "start": 28, "length": 1569, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72 ], "starting_column": 1, "ending_column": 0 } }, "signature": "bad2(address)" } } }, "additional_fields": { "underlying_type": "external_calls" } }, { "type": "node", "name": "(success) = target.call()", "source_mapping": { "start": 684, "length": 33, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 31 ], "starting_column": 9, "ending_column": 42 }, "type_specific_fields": { "parent": { "type": "function", "name": "bad2", "source_mapping": { "start": 637, "length": 243, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39 ], "starting_column": 5, "ending_column": 6 }, "type_specific_fields": { "parent": { "type": "contract", "name": "ReentrancyBenign", "source_mapping": { "start": 28, "length": 1569, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72 ], "starting_column": 1, "ending_column": 0 } }, "signature": "bad2(address)" } } }, "additional_fields": { "underlying_type": "external_calls_sending_eth" } }, { "type": "node", "name": "address(target).call.value(1000)()", "source_mapping": { "start": 754, "length": 36, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 33 ], "starting_column": 13, "ending_column": 49 }, "type_specific_fields": { "parent": { "type": "function", "name": "bad2", "source_mapping": { "start": 637, "length": 243, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39 ], "starting_column": 5, "ending_column": 6 }, "type_specific_fields": { "parent": { "type": "contract", "name": "ReentrancyBenign", "source_mapping": { "start": 28, "length": 1569, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72 ], "starting_column": 1, "ending_column": 0 } }, "signature": "bad2(address)" } } }, "additional_fields": { "underlying_type": "external_calls_sending_eth" } }, { "type": "node", "name": "counter += 1", "source_mapping": { "start": 804, "length": 12, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 34 ], "starting_column": 13, "ending_column": 25 }, "type_specific_fields": { "parent": { "type": "function", "name": "bad2", "source_mapping": { "start": 637, "length": 243, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39 ], "starting_column": 5, "ending_column": 6 }, "type_specific_fields": { "parent": { "type": "contract", "name": "ReentrancyBenign", "source_mapping": { "start": 28, "length": 1569, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72 ], "starting_column": 1, "ending_column": 0 } }, "signature": "bad2(address)" } } }, "additional_fields": { "underlying_type": "variables_written", "variable_name": "counter" } } ], "description": "Reentrancy in ReentrancyBenign.bad2(address) (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#30-39):\n\tExternal calls:\n\t- (success) = target.call() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#31)\n\t- address(target).call.value(1000)() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#33)\n\tExternal calls sending eth:\n\t- address(target).call.value(1000)() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#33)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#34)\n", "markdown": "Reentrancy in [ReentrancyBenign.bad2(address)](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L30-L39):\n\tExternal calls:\n\t- [(success) = target.call()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L31)\n\t- [address(target).call.value(1000)()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L33)\n\tExternal calls sending eth:\n\t- [address(target).call.value(1000)()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L33)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L34)\n", "first_markdown_element": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L30-L39", "id": "252ced5708ae1cf4a55673e963669257e8c4f2601c814c635fde84d478612e2a", "check": "reentrancy-benign", "impact": "Low", "confidence": "Medium" }, { "elements": [ { "type": "function", "name": "bad0", "source_mapping": { "start": 335, "length": 155, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 16, 17, 18, 19, 20, 21, 22 ], "starting_column": 5, "ending_column": 6 }, "type_specific_fields": { "parent": { "type": "contract", "name": "ReentrancyBenign", "source_mapping": { "start": 28, "length": 1569, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72 ], "starting_column": 1, "ending_column": 0 } }, "signature": "bad0()" } }, { "type": "node", "name": "(success) = msg.sender.call()", "source_mapping": { "start": 368, "length": 37, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 17 ], "starting_column": 9, "ending_column": 46 }, "type_specific_fields": { "parent": { "type": "function", "name": "bad0", "source_mapping": { "start": 335, "length": 155, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 16, 17, 18, 19, 20, 21, 22 ], "starting_column": 5, "ending_column": 6 }, "type_specific_fields": { "parent": { "type": "contract", "name": "ReentrancyBenign", "source_mapping": { "start": 28, "length": 1569, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72 ], "starting_column": 1, "ending_column": 0 } }, "signature": "bad0()" } } }, "additional_fields": { "underlying_type": "external_calls" } }, { "type": "node", "name": "(success) = msg.sender.call()", "source_mapping": { "start": 368, "length": 37, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 17 ], "starting_column": 9, "ending_column": 46 }, "type_specific_fields": { "parent": { "type": "function", "name": "bad0", "source_mapping": { "start": 335, "length": 155, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 16, 17, 18, 19, 20, 21, 22 ], "starting_column": 5, "ending_column": 6 }, "type_specific_fields": { "parent": { "type": "contract", "name": "ReentrancyBenign", "source_mapping": { "start": 28, "length": 1569, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72 ], "starting_column": 1, "ending_column": 0 } }, "signature": "bad0()" } } }, "additional_fields": { "underlying_type": "external_calls_sending_eth" } }, { "type": "node", "name": "counter += 1", "source_mapping": { "start": 471, "length": 12, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 21 ], "starting_column": 9, "ending_column": 21 }, "type_specific_fields": { "parent": { "type": "function", "name": "bad0", "source_mapping": { "start": 335, "length": 155, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 16, 17, 18, 19, 20, 21, 22 ], "starting_column": 5, "ending_column": 6 }, "type_specific_fields": { "parent": { "type": "contract", "name": "ReentrancyBenign", "source_mapping": { "start": 28, "length": 1569, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72 ], "starting_column": 1, "ending_column": 0 } }, "signature": "bad0()" } } }, "additional_fields": { "underlying_type": "variables_written", "variable_name": "counter" } } ], "description": "Reentrancy in ReentrancyBenign.bad0() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#16-22):\n\tExternal calls:\n\t- (success) = msg.sender.call() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#17)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#21)\n", "markdown": "Reentrancy in [ReentrancyBenign.bad0()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L16-L22):\n\tExternal calls:\n\t- [(success) = msg.sender.call()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L17)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L21)\n", "first_markdown_element": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L16-L22", "id": "7222cf72aee6330979168010b682e7d820989fbbf9a23906914e967a0f5533e6", "check": "reentrancy-benign", "impact": "Low", "confidence": "Medium" }, { "elements": [ { "type": "function", "name": "bad5", "source_mapping": { "start": 1195, "length": 128, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 54, 55, 56, 57, 58 ], "starting_column": 5, "ending_column": 6 }, "type_specific_fields": { "parent": { "type": "contract", "name": "ReentrancyBenign", "source_mapping": { "start": 28, "length": 1569, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72 ], "starting_column": 1, "ending_column": 0 } }, "signature": "bad5(address)" } }, { "type": "node", "name": "ethSender(address(0))", "source_mapping": { "start": 1242, "length": 21, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 55 ], "starting_column": 9, "ending_column": 30 }, "type_specific_fields": { "parent": { "type": "function", "name": "bad5", "source_mapping": { "start": 1195, "length": 128, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 54, 55, 56, 57, 58 ], "starting_column": 5, "ending_column": 6 }, "type_specific_fields": { "parent": { "type": "contract", "name": "ReentrancyBenign", "source_mapping": { "start": 28, "length": 1569, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72 ], "starting_column": 1, "ending_column": 0 } }, "signature": "bad5(address)" } } }, "additional_fields": { "underlying_type": "external_calls" } }, { "type": "node", "name": "address(target).call.value(1)()", "source_mapping": { "start": 1477, "length": 33, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 65 ], "starting_column": 9, "ending_column": 42 }, "type_specific_fields": { "parent": { "type": "function", "name": "ethSender", "source_mapping": { "start": 1424, "length": 93, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 64, 65, 66 ], "starting_column": 5, "ending_column": 6 }, "type_specific_fields": { "parent": { "type": "contract", "name": "ReentrancyBenign", "source_mapping": { "start": 28, "length": 1569, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72 ], "starting_column": 1, "ending_column": 0 } }, "signature": "ethSender(address)" } } }, "additional_fields": { "underlying_type": "external_calls_sending_eth" } }, { "type": "node", "name": "varChanger()", "source_mapping": { "start": 1273, "length": 12, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 56 ], "starting_column": 9, "ending_column": 21 }, "type_specific_fields": { "parent": { "type": "function", "name": "bad5", "source_mapping": { "start": 1195, "length": 128, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 54, 55, 56, 57, 58 ], "starting_column": 5, "ending_column": 6 }, "type_specific_fields": { "parent": { "type": "contract", "name": "ReentrancyBenign", "source_mapping": { "start": 28, "length": 1569, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72 ], "starting_column": 1, "ending_column": 0 } }, "signature": "bad5(address)" } } }, "additional_fields": { "underlying_type": "variables_written", "variable_name": "anotherVariableToChange" } }, { "type": "node", "name": "anotherVariableToChange ++", "source_mapping": { "start": 1563, "length": 25, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 69 ], "starting_column": 9, "ending_column": 34 }, "type_specific_fields": { "parent": { "type": "function", "name": "varChanger", "source_mapping": { "start": 1523, "length": 72, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 68, 69, 70 ], "starting_column": 5, "ending_column": 6 }, "type_specific_fields": { "parent": { "type": "contract", "name": "ReentrancyBenign", "source_mapping": { "start": 28, "length": 1569, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72 ], "starting_column": 1, "ending_column": 0 } }, "signature": "varChanger()" } } }, "additional_fields": { "underlying_type": "variables_written", "variable_name": "anotherVariableToChange" } } ], "description": "Reentrancy in ReentrancyBenign.bad5(address) (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#54-58):\n\tExternal calls:\n\t- ethSender(address(0)) (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#55)\n\t\t- address(target).call.value(1)() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#65)\n\tState variables written after the call(s):\n\t- varChanger() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#56)\n\t\t- anotherVariableToChange ++ (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#69)\n", "markdown": "Reentrancy in [ReentrancyBenign.bad5(address)](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L54-L58):\n\tExternal calls:\n\t- [ethSender(address(0))](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L55)\n\t\t- [address(target).call.value(1)()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L65)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L56)\n\t\t- [anotherVariableToChange ++](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L69)\n", "first_markdown_element": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L54-L58", "id": "b371cf739f2ef594320a33b4d707024727f7fc7cabf48f9946f65653429b671e", "check": "reentrancy-benign", "impact": "Low", "confidence": "Medium" }, { "elements": [ { "type": "function", "name": "bad3", "source_mapping": { "start": 886, "length": 125, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 41, 42, 43, 44, 45 ], "starting_column": 5, "ending_column": 6 }, "type_specific_fields": { "parent": { "type": "contract", "name": "ReentrancyBenign", "source_mapping": { "start": 28, "length": 1569, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72 ], "starting_column": 1, "ending_column": 0 } }, "signature": "bad3(address)" } }, { "type": "node", "name": "externalCaller(target)", "source_mapping": { "start": 933, "length": 22, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 42 ], "starting_column": 9, "ending_column": 31 }, "type_specific_fields": { "parent": { "type": "function", "name": "bad3", "source_mapping": { "start": 886, "length": 125, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 41, 42, 43, 44, 45 ], "starting_column": 5, "ending_column": 6 }, "type_specific_fields": { "parent": { "type": "contract", "name": "ReentrancyBenign", "source_mapping": { "start": 28, "length": 1569, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72 ], "starting_column": 1, "ending_column": 0 } }, "signature": "bad3(address)" } } }, "additional_fields": { "underlying_type": "external_calls" } }, { "type": "node", "name": "address(target).call()", "source_mapping": { "start": 1387, "length": 24, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 61 ], "starting_column": 9, "ending_column": 33 }, "type_specific_fields": { "parent": { "type": "function", "name": "externalCaller", "source_mapping": { "start": 1329, "length": 89, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 60, 61, 62 ], "starting_column": 5, "ending_column": 6 }, "type_specific_fields": { "parent": { "type": "contract", "name": "ReentrancyBenign", "source_mapping": { "start": 28, "length": 1569, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72 ], "starting_column": 1, "ending_column": 0 } }, "signature": "externalCaller(address)" } } }, "additional_fields": { "underlying_type": "external_calls_sending_eth" } }, { "type": "node", "name": "externalCaller(target)", "source_mapping": { "start": 933, "length": 22, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 42 ], "starting_column": 9, "ending_column": 31 }, "type_specific_fields": { "parent": { "type": "function", "name": "bad3", "source_mapping": { "start": 886, "length": 125, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 41, 42, 43, 44, 45 ], "starting_column": 5, "ending_column": 6 }, "type_specific_fields": { "parent": { "type": "contract", "name": "ReentrancyBenign", "source_mapping": { "start": 28, "length": 1569, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72 ], "starting_column": 1, "ending_column": 0 } }, "signature": "bad3(address)" } } }, "additional_fields": { "underlying_type": "external_calls_sending_eth" } }, { "type": "node", "name": "address(target).call()", "source_mapping": { "start": 1387, "length": 24, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 61 ], "starting_column": 9, "ending_column": 33 }, "type_specific_fields": { "parent": { "type": "function", "name": "externalCaller", "source_mapping": { "start": 1329, "length": 89, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 60, 61, 62 ], "starting_column": 5, "ending_column": 6 }, "type_specific_fields": { "parent": { "type": "contract", "name": "ReentrancyBenign", "source_mapping": { "start": 28, "length": 1569, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72 ], "starting_column": 1, "ending_column": 0 } }, "signature": "externalCaller(address)" } } }, "additional_fields": { "underlying_type": "external_calls_sending_eth" } }, { "type": "node", "name": "varChanger()", "source_mapping": { "start": 965, "length": 12, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 43 ], "starting_column": 9, "ending_column": 21 }, "type_specific_fields": { "parent": { "type": "function", "name": "bad3", "source_mapping": { "start": 886, "length": 125, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 41, 42, 43, 44, 45 ], "starting_column": 5, "ending_column": 6 }, "type_specific_fields": { "parent": { "type": "contract", "name": "ReentrancyBenign", "source_mapping": { "start": 28, "length": 1569, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72 ], "starting_column": 1, "ending_column": 0 } }, "signature": "bad3(address)" } } }, "additional_fields": { "underlying_type": "variables_written", "variable_name": "anotherVariableToChange" } }, { "type": "node", "name": "anotherVariableToChange ++", "source_mapping": { "start": 1563, "length": 25, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 69 ], "starting_column": 9, "ending_column": 34 }, "type_specific_fields": { "parent": { "type": "function", "name": "varChanger", "source_mapping": { "start": 1523, "length": 72, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 68, 69, 70 ], "starting_column": 5, "ending_column": 6 }, "type_specific_fields": { "parent": { "type": "contract", "name": "ReentrancyBenign", "source_mapping": { "start": 28, "length": 1569, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72 ], "starting_column": 1, "ending_column": 0 } }, "signature": "varChanger()" } } }, "additional_fields": { "underlying_type": "variables_written", "variable_name": "anotherVariableToChange" } } ], "description": "Reentrancy in ReentrancyBenign.bad3(address) (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#41-45):\n\tExternal calls:\n\t- externalCaller(target) (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#42)\n\t\t- address(target).call() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#61)\n\tState variables written after the call(s):\n\t- varChanger() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#43)\n\t\t- anotherVariableToChange ++ (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#69)\n", "markdown": "Reentrancy in [ReentrancyBenign.bad3(address)](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L41-L45):\n\tExternal calls:\n\t- [externalCaller(target)](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L42)\n\t\t- [address(target).call()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L61)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L43)\n\t\t- [anotherVariableToChange ++](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L69)\n", "first_markdown_element": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L41-L45", "id": "b4ca5fb9ad17bbab425a11b56f4fb0466db3680404ffb27f185072af6033dae3", "check": "reentrancy-benign", "impact": "Low", "confidence": "Medium" } ] ]