[
[
{
"elements" : [
{
"type" : "function" ,
"name" : "bad1" ,
"source_mapping" : {
"start" : 530 ,
"length" : 161 ,
"filename_relative" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol" ,
"is_dependency" : false ,
"lines" : [
25 ,
26 ,
27 ,
28 ,
29 ,
30
] ,
"starting_column" : 5 ,
"ending_column" : 6
} ,
"type_specific_fields" : {
"parent" : {
"type" : "contract" ,
"name" : "ReentrancyWrite" ,
"source_mapping" : {
"start" : 28 ,
"length" : 859 ,
"filename_relative" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.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
] ,
"starting_column" : 1 ,
"ending_column" : 2
}
} ,
"signature" : "bad1(address)"
}
} ,
{
"type" : "node" ,
"name" : "(success) = msg.sender.call()" ,
"source_mapping" : {
"start" : 605 ,
"length" : 37 ,
"filename_relative" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol" ,
"is_dependency" : false ,
"lines" : [
27
] ,
"starting_column" : 9 ,
"ending_column" : 46
} ,
"type_specific_fields" : {
"parent" : {
"type" : "function" ,
"name" : "bad1" ,
"source_mapping" : {
"start" : 530 ,
"length" : 161 ,
"filename_relative" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol" ,
"is_dependency" : false ,
"lines" : [
25 ,
26 ,
27 ,
28 ,
29 ,
30
] ,
"starting_column" : 5 ,
"ending_column" : 6
} ,
"type_specific_fields" : {
"parent" : {
"type" : "contract" ,
"name" : "ReentrancyWrite" ,
"source_mapping" : {
"start" : 28 ,
"length" : 859 ,
"filename_relative" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.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
] ,
"starting_column" : 1 ,
"ending_column" : 2
}
} ,
"signature" : "bad1(address)"
}
}
} ,
"additional_fields" : {
"underlying_type" : "external_calls"
}
} ,
{
"type" : "node" ,
"name" : "bad0()" ,
"source_mapping" : {
"start" : 678 ,
"length" : 6 ,
"filename_relative" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol" ,
"is_dependency" : false ,
"lines" : [
29
] ,
"starting_column" : 9 ,
"ending_column" : 15
} ,
"type_specific_fields" : {
"parent" : {
"type" : "function" ,
"name" : "bad1" ,
"source_mapping" : {
"start" : 530 ,
"length" : 161 ,
"filename_relative" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol" ,
"is_dependency" : false ,
"lines" : [
25 ,
26 ,
27 ,
28 ,
29 ,
30
] ,
"starting_column" : 5 ,
"ending_column" : 6
} ,
"type_specific_fields" : {
"parent" : {
"type" : "contract" ,
"name" : "ReentrancyWrite" ,
"source_mapping" : {
"start" : 28 ,
"length" : 859 ,
"filename_relative" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.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
] ,
"starting_column" : 1 ,
"ending_column" : 2
}
} ,
"signature" : "bad1(address)"
}
}
} ,
"additional_fields" : {
"underlying_type" : "external_calls"
}
} ,
{
"type" : "node" ,
"name" : "(success) = msg.sender.call()" ,
"source_mapping" : {
"start" : 397 ,
"length" : 37 ,
"filename_relative" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol" ,
"is_dependency" : false ,
"lines" : [
18
] ,
"starting_column" : 9 ,
"ending_column" : 46
} ,
"type_specific_fields" : {
"parent" : {
"type" : "function" ,
"name" : "bad0" ,
"source_mapping" : {
"start" : 336 ,
"length" : 188 ,
"filename_relative" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol" ,
"is_dependency" : false ,
"lines" : [
16 ,
17 ,
18 ,
19 ,
20 ,
21 ,
22 ,
23
] ,
"starting_column" : 5 ,
"ending_column" : 6
} ,
"type_specific_fields" : {
"parent" : {
"type" : "contract" ,
"name" : "ReentrancyWrite" ,
"source_mapping" : {
"start" : 28 ,
"length" : 859 ,
"filename_relative" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.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
] ,
"starting_column" : 1 ,
"ending_column" : 2
}
} ,
"signature" : "bad0()"
}
}
} ,
"additional_fields" : {
"underlying_type" : "external_calls_sending_eth"
}
} ,
{
"type" : "node" ,
"name" : "bad0()" ,
"source_mapping" : {
"start" : 678 ,
"length" : 6 ,
"filename_relative" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol" ,
"is_dependency" : false ,
"lines" : [
29
] ,
"starting_column" : 9 ,
"ending_column" : 15
} ,
"type_specific_fields" : {
"parent" : {
"type" : "function" ,
"name" : "bad1" ,
"source_mapping" : {
"start" : 530 ,
"length" : 161 ,
"filename_relative" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol" ,
"is_dependency" : false ,
"lines" : [
25 ,
26 ,
27 ,
28 ,
29 ,
30
] ,
"starting_column" : 5 ,
"ending_column" : 6
} ,
"type_specific_fields" : {
"parent" : {
"type" : "contract" ,
"name" : "ReentrancyWrite" ,
"source_mapping" : {
"start" : 28 ,
"length" : 859 ,
"filename_relative" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.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
] ,
"starting_column" : 1 ,
"ending_column" : 2
}
} ,
"signature" : "bad1(address)"
}
}
} ,
"additional_fields" : {
"underlying_type" : "variables_written" ,
"variable_name" : "notCalled"
}
} ,
{
"type" : "node" ,
"name" : "notCalled = false" ,
"source_mapping" : {
"start" : 500 ,
"length" : 17 ,
"filename_relative" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol" ,
"is_dependency" : false ,
"lines" : [
22
] ,
"starting_column" : 9 ,
"ending_column" : 26
} ,
"type_specific_fields" : {
"parent" : {
"type" : "function" ,
"name" : "bad0" ,
"source_mapping" : {
"start" : 336 ,
"length" : 188 ,
"filename_relative" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol" ,
"is_dependency" : false ,
"lines" : [
16 ,
17 ,
18 ,
19 ,
20 ,
21 ,
22 ,
23
] ,
"starting_column" : 5 ,
"ending_column" : 6
} ,
"type_specific_fields" : {
"parent" : {
"type" : "contract" ,
"name" : "ReentrancyWrite" ,
"source_mapping" : {
"start" : 28 ,
"length" : 859 ,
"filename_relative" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.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
] ,
"starting_column" : 1 ,
"ending_column" : 2
}
} ,
"signature" : "bad0()"
}
}
} ,
"additional_fields" : {
"underlying_type" : "variables_written" ,
"variable_name" : "notCalled"
}
}
] ,
"description" : "Reentrancy in ReentrancyWrite.bad1(address) (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#25-30):\n\tExternal calls:\n\t- (success) = msg.sender.call() (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#27)\n\t- bad0() (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#29)\n\t\t- (success) = msg.sender.call() (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#18)\n\tState variables written after the call(s):\n\t- bad0() (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#29)\n\t\t- notCalled = false (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#22)\n" ,
"markdown" : "Reentrancy in [ReentrancyWrite.bad1(address)](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L25-L30):\n\tExternal calls:\n\t- [(success) = msg.sender.call()](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L27)\n\t- [bad0()](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L29)\n\t\t- [(success) = msg.sender.call()](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L18)\n\tState variables written after the call(s):\n\t- [bad0()](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L29)\n\t\t- [notCalled = false](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L22)\n" ,
"first_markdown_element" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L25-L30" ,
"id" : "9fbfafd0d47ce4f4ead524570f382093c186c4e9e5e96ce0067fce3ffb6dc74a" ,
"check" : "reentrancy-no-eth" ,
"impact" : "Medium" ,
"confidence" : "Medium"
} ,
{
"elements" : [
{
"type" : "function" ,
"name" : "bad0" ,
"source_mapping" : {
"start" : 336 ,
"length" : 188 ,
"filename_relative" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol" ,
"is_dependency" : false ,
"lines" : [
16 ,
17 ,
18 ,
19 ,
20 ,
21 ,
22 ,
23
] ,
"starting_column" : 5 ,
"ending_column" : 6
} ,
"type_specific_fields" : {
"parent" : {
"type" : "contract" ,
"name" : "ReentrancyWrite" ,
"source_mapping" : {
"start" : 28 ,
"length" : 859 ,
"filename_relative" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.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
] ,
"starting_column" : 1 ,
"ending_column" : 2
}
} ,
"signature" : "bad0()"
}
} ,
{
"type" : "node" ,
"name" : "(success) = msg.sender.call()" ,
"source_mapping" : {
"start" : 397 ,
"length" : 37 ,
"filename_relative" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol" ,
"is_dependency" : false ,
"lines" : [
18
] ,
"starting_column" : 9 ,
"ending_column" : 46
} ,
"type_specific_fields" : {
"parent" : {
"type" : "function" ,
"name" : "bad0" ,
"source_mapping" : {
"start" : 336 ,
"length" : 188 ,
"filename_relative" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol" ,
"is_dependency" : false ,
"lines" : [
16 ,
17 ,
18 ,
19 ,
20 ,
21 ,
22 ,
23
] ,
"starting_column" : 5 ,
"ending_column" : 6
} ,
"type_specific_fields" : {
"parent" : {
"type" : "contract" ,
"name" : "ReentrancyWrite" ,
"source_mapping" : {
"start" : 28 ,
"length" : 859 ,
"filename_relative" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.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
] ,
"starting_column" : 1 ,
"ending_column" : 2
}
} ,
"signature" : "bad0()"
}
}
} ,
"additional_fields" : {
"underlying_type" : "external_calls"
}
} ,
{
"type" : "node" ,
"name" : "notCalled = false" ,
"source_mapping" : {
"start" : 500 ,
"length" : 17 ,
"filename_relative" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol" ,
"is_dependency" : false ,
"lines" : [
22
] ,
"starting_column" : 9 ,
"ending_column" : 26
} ,
"type_specific_fields" : {
"parent" : {
"type" : "function" ,
"name" : "bad0" ,
"source_mapping" : {
"start" : 336 ,
"length" : 188 ,
"filename_relative" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol" ,
"is_dependency" : false ,
"lines" : [
16 ,
17 ,
18 ,
19 ,
20 ,
21 ,
22 ,
23
] ,
"starting_column" : 5 ,
"ending_column" : 6
} ,
"type_specific_fields" : {
"parent" : {
"type" : "contract" ,
"name" : "ReentrancyWrite" ,
"source_mapping" : {
"start" : 28 ,
"length" : 859 ,
"filename_relative" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.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
] ,
"starting_column" : 1 ,
"ending_column" : 2
}
} ,
"signature" : "bad0()"
}
}
} ,
"additional_fields" : {
"underlying_type" : "variables_written" ,
"variable_name" : "notCalled"
}
}
] ,
"description" : "Reentrancy in ReentrancyWrite.bad0() (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#16-23):\n\tExternal calls:\n\t- (success) = msg.sender.call() (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#18)\n\tState variables written after the call(s):\n\t- notCalled = false (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#22)\n" ,
"markdown" : "Reentrancy in [ReentrancyWrite.bad0()](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L16-L23):\n\tExternal calls:\n\t- [(success) = msg.sender.call()](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L18)\n\tState variables written after the call(s):\n\t- [notCalled = false](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L22)\n" ,
"first_markdown_element" : "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L16-L23" ,
"id" : "c9ba81d76d46579f9e78ac96b1aae43b71f2d4a96d4c47b2fab9831bf0f15a8f" ,
"check" : "reentrancy-no-eth" ,
"impact" : "Medium" ,
"confidence" : "Medium"
}
]
]