[
[
{
"elements" : [
{
"type" : "function" ,
"name" : "bad0" ,
"source_mapping" : {
"start" : 328 ,
"length" : 155 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1562 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 361 ,
"length" : 37 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 328 ,
"length" : 155 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1562 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 361 ,
"length" : 37 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 328 ,
"length" : 155 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1562 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 464 ,
"length" : 12 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 328 ,
"length" : 155 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1562 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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.7.6/reentrancy-benign.sol#16-22):\n\tExternal calls:\n\t- (success) = msg.sender.call() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#17)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#21)\n" ,
"markdown" : "Reentrancy in [ReentrancyBenign.bad0()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L16-L22):\n\tExternal calls:\n\t- [(success) = msg.sender.call()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L17)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L21)\n" ,
"first_markdown_element" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L16-L22" ,
"id" : "048313a93ec637e415b1c374abb90f2893f9c9952499c48b5872fe196cf55299" ,
"check" : "reentrancy-benign" ,
"impact" : "Low" ,
"confidence" : "Medium"
} ,
{
"elements" : [
{
"type" : "function" ,
"name" : "bad2" ,
"source_mapping" : {
"start" : 630 ,
"length" : 243 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1562 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 677 ,
"length" : 33 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 630 ,
"length" : 243 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1562 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 747 ,
"length" : 36 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 630 ,
"length" : 243 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1562 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 677 ,
"length" : 33 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 630 ,
"length" : 243 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1562 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 747 ,
"length" : 36 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 630 ,
"length" : 243 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1562 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 797 ,
"length" : 12 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 630 ,
"length" : 243 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1562 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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.7.6/reentrancy-benign.sol#30-39):\n\tExternal calls:\n\t- (success) = target.call() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#31)\n\t- address(target).call{value: 1000}() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#33)\n\tExternal calls sending eth:\n\t- address(target).call{value: 1000}() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#33)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#34)\n" ,
"markdown" : "Reentrancy in [ReentrancyBenign.bad2(address)](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L30-L39):\n\tExternal calls:\n\t- [(success) = target.call()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L31)\n\t- [address(target).call{value: 1000}()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L33)\n\tExternal calls sending eth:\n\t- [address(target).call{value: 1000}()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L33)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L34)\n" ,
"first_markdown_element" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L30-L39" ,
"id" : "6717f4516d88a5c7e163ec2f50f29be4b3ea7e2df36e9fbc688489a69fef5d77" ,
"check" : "reentrancy-benign" ,
"impact" : "Low" ,
"confidence" : "Medium"
} ,
{
"elements" : [
{
"type" : "function" ,
"name" : "bad4" ,
"source_mapping" : {
"start" : 1010 ,
"length" : 172 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1562 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1057 ,
"length" : 22 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1010 ,
"length" : 172 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1562 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1380 ,
"length" : 24 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1322 ,
"length" : 89 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1562 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1089 ,
"length" : 21 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1010 ,
"length" : 172 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1562 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1470 ,
"length" : 33 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1417 ,
"length" : 93 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1562 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1057 ,
"length" : 22 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1010 ,
"length" : 172 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1562 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1380 ,
"length" : 24 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1322 ,
"length" : 89 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1562 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1089 ,
"length" : 21 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1010 ,
"length" : 172 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1562 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1470 ,
"length" : 33 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1417 ,
"length" : 93 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1562 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1120 ,
"length" : 12 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1010 ,
"length" : 172 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1562 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1556 ,
"length" : 25 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1516 ,
"length" : 72 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1562 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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.7.6/reentrancy-benign.sol#47-52):\n\tExternal calls:\n\t- externalCaller(target) (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#48)\n\t\t- address(target).call() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#61)\n\t- ethSender(address(0)) (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#49)\n\t\t- address(target).call{value: 1}() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#65)\n\tExternal calls sending eth:\n\t- ethSender(address(0)) (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#49)\n\t\t- address(target).call{value: 1}() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#65)\n\tState variables written after the call(s):\n\t- varChanger() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#50)\n\t\t- anotherVariableToChange ++ (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#69)\n" ,
"markdown" : "Reentrancy in [ReentrancyBenign.bad4(address)](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L47-L52):\n\tExternal calls:\n\t- [externalCaller(target)](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L48)\n\t\t- [address(target).call()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L61)\n\t- [ethSender(address(0))](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L49)\n\t\t- [address(target).call{value: 1}()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L65)\n\tExternal calls sending eth:\n\t- [ethSender(address(0))](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L49)\n\t\t- [address(target).call{value: 1}()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L65)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L50)\n\t\t- [anotherVariableToChange ++](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L69)\n" ,
"first_markdown_element" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L47-L52" ,
"id" : "a761807476d935cb91dbefd6f8fd28baaf9b805bf4df2fb9066c4c442d768980" ,
"check" : "reentrancy-benign" ,
"impact" : "Low" ,
"confidence" : "Medium"
} ,
{
"elements" : [
{
"type" : "function" ,
"name" : "bad1" ,
"source_mapping" : {
"start" : 489 ,
"length" : 135 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1562 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 536 ,
"length" : 33 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 489 ,
"length" : 135 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1562 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 536 ,
"length" : 33 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 489 ,
"length" : 135 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1562 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 605 ,
"length" : 12 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 489 ,
"length" : 135 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1562 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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.7.6/reentrancy-benign.sol#24-28):\n\tExternal calls:\n\t- (success) = target.call() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#25)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#27)\n" ,
"markdown" : "Reentrancy in [ReentrancyBenign.bad1(address)](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L24-L28):\n\tExternal calls:\n\t- [(success) = target.call()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L25)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L27)\n" ,
"first_markdown_element" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L24-L28" ,
"id" : "c80120e0907dee95cc562b53958082d0664ee15a3aaa617ac17e27d25ae48d46" ,
"check" : "reentrancy-benign" ,
"impact" : "Low" ,
"confidence" : "Medium"
} ,
{
"elements" : [
{
"type" : "function" ,
"name" : "bad5" ,
"source_mapping" : {
"start" : 1188 ,
"length" : 128 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1562 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1235 ,
"length" : 21 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1188 ,
"length" : 128 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1562 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1470 ,
"length" : 33 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1417 ,
"length" : 93 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1562 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1266 ,
"length" : 12 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1188 ,
"length" : 128 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1562 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1556 ,
"length" : 25 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1516 ,
"length" : 72 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1562 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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.7.6/reentrancy-benign.sol#54-58):\n\tExternal calls:\n\t- ethSender(address(0)) (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#55)\n\t\t- address(target).call{value: 1}() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#65)\n\tState variables written after the call(s):\n\t- varChanger() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#56)\n\t\t- anotherVariableToChange ++ (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#69)\n" ,
"markdown" : "Reentrancy in [ReentrancyBenign.bad5(address)](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L54-L58):\n\tExternal calls:\n\t- [ethSender(address(0))](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L55)\n\t\t- [address(target).call{value: 1}()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L65)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L56)\n\t\t- [anotherVariableToChange ++](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L69)\n" ,
"first_markdown_element" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L54-L58" ,
"id" : "d1495003f18e1d1814ff11bb252ae6d8a0d3a42338e6def154390acf5d1a4d55" ,
"check" : "reentrancy-benign" ,
"impact" : "Low" ,
"confidence" : "Medium"
} ,
{
"elements" : [
{
"type" : "function" ,
"name" : "bad3" ,
"source_mapping" : {
"start" : 879 ,
"length" : 125 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1562 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 926 ,
"length" : 22 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 879 ,
"length" : 125 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1562 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1380 ,
"length" : 24 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1322 ,
"length" : 89 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1562 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 926 ,
"length" : 22 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 879 ,
"length" : 125 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1562 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1380 ,
"length" : 24 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1322 ,
"length" : 89 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1562 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 958 ,
"length" : 12 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 879 ,
"length" : 125 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1562 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1556 ,
"length" : 25 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1516 ,
"length" : 72 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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" : 1562 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-benign/0.7.6/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.7.6/reentrancy-benign.sol#41-45):\n\tExternal calls:\n\t- externalCaller(target) (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#42)\n\t\t- address(target).call() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#61)\n\tState variables written after the call(s):\n\t- varChanger() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#43)\n\t\t- anotherVariableToChange ++ (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#69)\n" ,
"markdown" : "Reentrancy in [ReentrancyBenign.bad3(address)](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L41-L45):\n\tExternal calls:\n\t- [externalCaller(target)](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L42)\n\t\t- [address(target).call()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L61)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L43)\n\t\t- [anotherVariableToChange ++](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L69)\n" ,
"first_markdown_element" : "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L41-L45" ,
"id" : "daed2df217460e31f6b03c385a5256ad0e29f973a06779d9b95c059c3c9c5c48" ,
"check" : "reentrancy-benign" ,
"impact" : "Low" ,
"confidence" : "Medium"
}
]
]