[
[
{
"elements" : [
{
"type" : "function" ,
"name" : "bad2" ,
"source_mapping" : {
"start" : 721 ,
"length" : 263 ,
"filename_relative" : "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol" ,
"is_dependency" : false ,
"lines" : [
30 ,
31 ,
32 ,
33 ,
34 ,
35 ,
36 ,
37
] ,
"starting_column" : 5 ,
"ending_column" : 6
} ,
"type_specific_fields" : {
"parent" : {
"type" : "contract" ,
"name" : "CallInLoop" ,
"source_mapping" : {
"start" : 352 ,
"length" : 892 ,
"filename_relative" : "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol" ,
"is_dependency" : false ,
"lines" : [
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
] ,
"starting_column" : 1 ,
"ending_column" : 2
}
} ,
"signature" : "bad2()"
}
} ,
{
"type" : "node" ,
"name" : "address(uint160(destinations[i])).transfer(i)" ,
"source_mapping" : {
"start" : 922 ,
"length" : 45 ,
"filename_relative" : "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol" ,
"is_dependency" : false ,
"lines" : [
35
] ,
"starting_column" : 13 ,
"ending_column" : 58
} ,
"type_specific_fields" : {
"parent" : {
"type" : "function" ,
"name" : "bad2" ,
"source_mapping" : {
"start" : 721 ,
"length" : 263 ,
"filename_relative" : "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol" ,
"is_dependency" : false ,
"lines" : [
30 ,
31 ,
32 ,
33 ,
34 ,
35 ,
36 ,
37
] ,
"starting_column" : 5 ,
"ending_column" : 6
} ,
"type_specific_fields" : {
"parent" : {
"type" : "contract" ,
"name" : "CallInLoop" ,
"source_mapping" : {
"start" : 352 ,
"length" : 892 ,
"filename_relative" : "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol" ,
"is_dependency" : false ,
"lines" : [
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
] ,
"starting_column" : 1 ,
"ending_column" : 2
}
} ,
"signature" : "bad2()"
}
}
}
}
] ,
"description" : "CallInLoop.bad2() (tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#30-37) has external calls inside a loop: address(uint160(destinations[i])).transfer(i) (tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#35)\n" ,
"markdown" : "[CallInLoop.bad2()](tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#L30-L37) has external calls inside a loop: [address(uint160(destinations[i])).transfer(i)](tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#L35)\n" ,
"first_markdown_element" : "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#L30-L37" ,
"id" : "3b1948778e97667e6e749205edf70beeac8b8db364e68da43900136e2e7f4c8b" ,
"check" : "calls-loop" ,
"impact" : "Low" ,
"confidence" : "Medium"
} ,
{
"elements" : [
{
"type" : "function" ,
"name" : "bad" ,
"source_mapping" : {
"start" : 562 ,
"length" : 153 ,
"filename_relative" : "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol" ,
"is_dependency" : false ,
"lines" : [
24 ,
25 ,
26 ,
27 ,
28
] ,
"starting_column" : 5 ,
"ending_column" : 6
} ,
"type_specific_fields" : {
"parent" : {
"type" : "contract" ,
"name" : "CallInLoop" ,
"source_mapping" : {
"start" : 352 ,
"length" : 892 ,
"filename_relative" : "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol" ,
"is_dependency" : false ,
"lines" : [
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
] ,
"starting_column" : 1 ,
"ending_column" : 2
}
} ,
"signature" : "bad()"
}
} ,
{
"type" : "node" ,
"name" : "address(uint160(destinations[i])).transfer(i)" ,
"source_mapping" : {
"start" : 653 ,
"length" : 45 ,
"filename_relative" : "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol" ,
"is_dependency" : false ,
"lines" : [
26
] ,
"starting_column" : 13 ,
"ending_column" : 58
} ,
"type_specific_fields" : {
"parent" : {
"type" : "function" ,
"name" : "bad" ,
"source_mapping" : {
"start" : 562 ,
"length" : 153 ,
"filename_relative" : "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol" ,
"is_dependency" : false ,
"lines" : [
24 ,
25 ,
26 ,
27 ,
28
] ,
"starting_column" : 5 ,
"ending_column" : 6
} ,
"type_specific_fields" : {
"parent" : {
"type" : "contract" ,
"name" : "CallInLoop" ,
"source_mapping" : {
"start" : 352 ,
"length" : 892 ,
"filename_relative" : "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol" ,
"is_dependency" : false ,
"lines" : [
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
] ,
"starting_column" : 1 ,
"ending_column" : 2
}
} ,
"signature" : "bad()"
}
}
}
}
] ,
"description" : "CallInLoop.bad() (tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#24-28) has external calls inside a loop: address(uint160(destinations[i])).transfer(i) (tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#26)\n" ,
"markdown" : "[CallInLoop.bad()](tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#L24-L28) has external calls inside a loop: [address(uint160(destinations[i])).transfer(i)](tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#L26)\n" ,
"first_markdown_element" : "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#L24-L28" ,
"id" : "5aef9fe610ef0caca726874226906ac1246d969d2d8ed6cde33e09601d0c7117" ,
"check" : "calls-loop" ,
"impact" : "Low" ,
"confidence" : "Medium"
} ,
{
"elements" : [
{
"type" : "function" ,
"name" : "bad_base" ,
"source_mapping" : {
"start" : 180 ,
"length" : 168 ,
"filename_relative" : "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol" ,
"is_dependency" : false ,
"lines" : [
9 ,
10 ,
11 ,
12 ,
13
] ,
"starting_column" : 5 ,
"ending_column" : 6
} ,
"type_specific_fields" : {
"parent" : {
"type" : "contract" ,
"name" : "CallInLoopBase" ,
"source_mapping" : {
"start" : 0 ,
"length" : 350 ,
"filename_relative" : "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol" ,
"is_dependency" : false ,
"lines" : [
1 ,
2 ,
3 ,
4 ,
5 ,
6 ,
7 ,
8 ,
9 ,
10 ,
11 ,
12 ,
13 ,
14
] ,
"starting_column" : 1 ,
"ending_column" : 2
}
} ,
"signature" : "bad_base()"
}
} ,
{
"type" : "node" ,
"name" : "address(uint160(destinations_base[i])).transfer(i)" ,
"source_mapping" : {
"start" : 281 ,
"length" : 50 ,
"filename_relative" : "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol" ,
"is_dependency" : false ,
"lines" : [
11
] ,
"starting_column" : 13 ,
"ending_column" : 63
} ,
"type_specific_fields" : {
"parent" : {
"type" : "function" ,
"name" : "bad_base" ,
"source_mapping" : {
"start" : 180 ,
"length" : 168 ,
"filename_relative" : "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol" ,
"is_dependency" : false ,
"lines" : [
9 ,
10 ,
11 ,
12 ,
13
] ,
"starting_column" : 5 ,
"ending_column" : 6
} ,
"type_specific_fields" : {
"parent" : {
"type" : "contract" ,
"name" : "CallInLoopBase" ,
"source_mapping" : {
"start" : 0 ,
"length" : 350 ,
"filename_relative" : "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol" ,
"is_dependency" : false ,
"lines" : [
1 ,
2 ,
3 ,
4 ,
5 ,
6 ,
7 ,
8 ,
9 ,
10 ,
11 ,
12 ,
13 ,
14
] ,
"starting_column" : 1 ,
"ending_column" : 2
}
} ,
"signature" : "bad_base()"
}
}
}
}
] ,
"description" : "CallInLoopBase.bad_base() (tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#9-13) has external calls inside a loop: address(uint160(destinations_base[i])).transfer(i) (tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#11)\n" ,
"markdown" : "[CallInLoopBase.bad_base()](tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#L9-L13) has external calls inside a loop: [address(uint160(destinations_base[i])).transfer(i)](tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#L11)\n" ,
"first_markdown_element" : "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#L9-L13" ,
"id" : "676f5509699708442e5b513a2250f8e0e64781b139d2eafd86273c17528a16ce" ,
"check" : "calls-loop" ,
"impact" : "Low" ,
"confidence" : "Medium"
} ,
{
"elements" : [
{
"type" : "function" ,
"name" : "bad3_internal" ,
"source_mapping" : {
"start" : 1142 ,
"length" : 99 ,
"filename_relative" : "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol" ,
"is_dependency" : false ,
"lines" : [
45 ,
46 ,
47
] ,
"starting_column" : 5 ,
"ending_column" : 6
} ,
"type_specific_fields" : {
"parent" : {
"type" : "contract" ,
"name" : "CallInLoop" ,
"source_mapping" : {
"start" : 352 ,
"length" : 892 ,
"filename_relative" : "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol" ,
"is_dependency" : false ,
"lines" : [
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
] ,
"starting_column" : 1 ,
"ending_column" : 2
}
} ,
"signature" : "bad3_internal(address,uint256)"
}
} ,
{
"type" : "node" ,
"name" : "address(uint160(a)).transfer(i)" ,
"source_mapping" : {
"start" : 1203 ,
"length" : 31 ,
"filename_relative" : "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol" ,
"is_dependency" : false ,
"lines" : [
46
] ,
"starting_column" : 9 ,
"ending_column" : 40
} ,
"type_specific_fields" : {
"parent" : {
"type" : "function" ,
"name" : "bad3_internal" ,
"source_mapping" : {
"start" : 1142 ,
"length" : 99 ,
"filename_relative" : "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol" ,
"is_dependency" : false ,
"lines" : [
45 ,
46 ,
47
] ,
"starting_column" : 5 ,
"ending_column" : 6
} ,
"type_specific_fields" : {
"parent" : {
"type" : "contract" ,
"name" : "CallInLoop" ,
"source_mapping" : {
"start" : 352 ,
"length" : 892 ,
"filename_relative" : "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol" ,
"is_dependency" : false ,
"lines" : [
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
] ,
"starting_column" : 1 ,
"ending_column" : 2
}
} ,
"signature" : "bad3_internal(address,uint256)"
}
}
}
}
] ,
"description" : "CallInLoop.bad3_internal(address,uint256) (tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#45-47) has external calls inside a loop: address(uint160(a)).transfer(i) (tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#46)\n" ,
"markdown" : "[CallInLoop.bad3_internal(address,uint256)](tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#L45-L47) has external calls inside a loop: [address(uint160(a)).transfer(i)](tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#L46)\n" ,
"first_markdown_element" : "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#L45-L47" ,
"id" : "cc16e95c30a63cb84d8ed1c59e3cc1fd338d861e8c8a2973764e017df3c2f38f" ,
"check" : "calls-loop" ,
"impact" : "Low" ,
"confidence" : "Medium"
}
]
]