[
[
{
"elements" : [
{
"type" : "function" ,
"name" : "f" ,
"source_mapping" : {
"start" : 869 ,
"length" : 269 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"is_dependency" : false ,
"lines" : [
42 ,
43 ,
44 ,
45 ,
46 ,
47 ,
48
] ,
"starting_column" : 5 ,
"ending_column" : 6
} ,
"type_specific_fields" : {
"parent" : {
"type" : "contract" ,
"name" : "D" ,
"source_mapping" : {
"start" : 702 ,
"length" : 440 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"is_dependency" : false ,
"lines" : [
31 ,
32 ,
33 ,
34 ,
35 ,
36 ,
37 ,
38 ,
39 ,
40 ,
41 ,
42 ,
43 ,
44 ,
45 ,
46 ,
47 ,
48 ,
49 ,
50 ,
51 ,
52
] ,
"starting_column" : 1 ,
"ending_column" : 0
}
} ,
"signature" : "f()"
}
} ,
{
"type" : "variable" ,
"name" : "x" ,
"source_mapping" : {
"start" : 836 ,
"length" : 9 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"is_dependency" : false ,
"lines" : [
39
] ,
"starting_column" : 5 ,
"ending_column" : 14
} ,
"type_specific_fields" : {
"parent" : {
"type" : "contract" ,
"name" : "D" ,
"source_mapping" : {
"start" : 702 ,
"length" : 440 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"is_dependency" : false ,
"lines" : [
31 ,
32 ,
33 ,
34 ,
35 ,
36 ,
37 ,
38 ,
39 ,
40 ,
41 ,
42 ,
43 ,
44 ,
45 ,
46 ,
47 ,
48 ,
49 ,
50 ,
51 ,
52
] ,
"starting_column" : 1 ,
"ending_column" : 0
}
}
}
} ,
{
"type" : "function" ,
"name" : "setByValueAndReturn" ,
"source_mapping" : {
"start" : 578 ,
"length" : 120 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"is_dependency" : false ,
"lines" : [
25 ,
26 ,
27 ,
28
] ,
"starting_column" : 5 ,
"ending_column" : 6
} ,
"type_specific_fields" : {
"parent" : {
"type" : "contract" ,
"name" : "C" ,
"source_mapping" : {
"start" : 0 ,
"length" : 700 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"is_dependency" : false ,
"lines" : [
1 ,
2 ,
3 ,
4 ,
5 ,
6 ,
7 ,
8 ,
9 ,
10 ,
11 ,
12 ,
13 ,
14 ,
15 ,
16 ,
17 ,
18 ,
19 ,
20 ,
21 ,
22 ,
23 ,
24 ,
25 ,
26 ,
27 ,
28 ,
29
] ,
"starting_column" : 1 ,
"ending_column" : 2
}
} ,
"signature" : "setByValueAndReturn(uint256[1])"
}
}
] ,
"description" : "D.f() (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#42-48) passes array D.x (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#39)by reference to C.setByValueAndReturn(uint256[1]) (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#25-28)which only takes arrays by value\n" ,
"markdown" : "[D.f()](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L42-L48) passes array [D.x](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L39)by reference to [C.setByValueAndReturn(uint256[1])](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L25-L28)which only takes arrays by value\n" ,
"first_markdown_element" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L42-L48" ,
"id" : "019912974eabe7e8b1e67ca05b342e5106de13fa93fa0adf599a4259c425bd54" ,
"check" : "array-by-reference" ,
"impact" : "High" ,
"confidence" : "High"
} ,
{
"elements" : [
{
"type" : "function" ,
"name" : "f" ,
"source_mapping" : {
"start" : 869 ,
"length" : 269 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"is_dependency" : false ,
"lines" : [
42 ,
43 ,
44 ,
45 ,
46 ,
47 ,
48
] ,
"starting_column" : 5 ,
"ending_column" : 6
} ,
"type_specific_fields" : {
"parent" : {
"type" : "contract" ,
"name" : "D" ,
"source_mapping" : {
"start" : 702 ,
"length" : 440 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"is_dependency" : false ,
"lines" : [
31 ,
32 ,
33 ,
34 ,
35 ,
36 ,
37 ,
38 ,
39 ,
40 ,
41 ,
42 ,
43 ,
44 ,
45 ,
46 ,
47 ,
48 ,
49 ,
50 ,
51 ,
52
] ,
"starting_column" : 1 ,
"ending_column" : 0
}
} ,
"signature" : "f()"
}
} ,
{
"type" : "variable" ,
"name" : "x" ,
"source_mapping" : {
"start" : 836 ,
"length" : 9 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"is_dependency" : false ,
"lines" : [
39
] ,
"starting_column" : 5 ,
"ending_column" : 14
} ,
"type_specific_fields" : {
"parent" : {
"type" : "contract" ,
"name" : "D" ,
"source_mapping" : {
"start" : 702 ,
"length" : 440 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"is_dependency" : false ,
"lines" : [
31 ,
32 ,
33 ,
34 ,
35 ,
36 ,
37 ,
38 ,
39 ,
40 ,
41 ,
42 ,
43 ,
44 ,
45 ,
46 ,
47 ,
48 ,
49 ,
50 ,
51 ,
52
] ,
"starting_column" : 1 ,
"ending_column" : 0
}
}
}
} ,
{
"type" : "function" ,
"name" : "setByValue" ,
"source_mapping" : {
"start" : 498 ,
"length" : 74 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"is_dependency" : false ,
"lines" : [
21 ,
22 ,
23
] ,
"starting_column" : 5 ,
"ending_column" : 6
} ,
"type_specific_fields" : {
"parent" : {
"type" : "contract" ,
"name" : "C" ,
"source_mapping" : {
"start" : 0 ,
"length" : 700 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"is_dependency" : false ,
"lines" : [
1 ,
2 ,
3 ,
4 ,
5 ,
6 ,
7 ,
8 ,
9 ,
10 ,
11 ,
12 ,
13 ,
14 ,
15 ,
16 ,
17 ,
18 ,
19 ,
20 ,
21 ,
22 ,
23 ,
24 ,
25 ,
26 ,
27 ,
28 ,
29
] ,
"starting_column" : 1 ,
"ending_column" : 2
}
} ,
"signature" : "setByValue(uint256[1])"
}
}
] ,
"description" : "D.f() (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#42-48) passes array D.x (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#39)by reference to C.setByValue(uint256[1]) (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#21-23)which only takes arrays by value\n" ,
"markdown" : "[D.f()](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L42-L48) passes array [D.x](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L39)by reference to [C.setByValue(uint256[1])](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L21-L23)which only takes arrays by value\n" ,
"first_markdown_element" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L42-L48" ,
"id" : "1520955a53c36e391abbaf648a91a5a12d432f0f4746b0a8187d0988a6a66846" ,
"check" : "array-by-reference" ,
"impact" : "High" ,
"confidence" : "High"
} ,
{
"elements" : [
{
"type" : "function" ,
"name" : "f" ,
"source_mapping" : {
"start" : 40 ,
"length" : 167 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"is_dependency" : false ,
"lines" : [
4 ,
5 ,
6 ,
7 ,
8
] ,
"starting_column" : 5 ,
"ending_column" : 6
} ,
"type_specific_fields" : {
"parent" : {
"type" : "contract" ,
"name" : "C" ,
"source_mapping" : {
"start" : 0 ,
"length" : 700 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"is_dependency" : false ,
"lines" : [
1 ,
2 ,
3 ,
4 ,
5 ,
6 ,
7 ,
8 ,
9 ,
10 ,
11 ,
12 ,
13 ,
14 ,
15 ,
16 ,
17 ,
18 ,
19 ,
20 ,
21 ,
22 ,
23 ,
24 ,
25 ,
26 ,
27 ,
28 ,
29
] ,
"starting_column" : 1 ,
"ending_column" : 2
}
} ,
"signature" : "f()"
}
} ,
{
"type" : "variable" ,
"name" : "x" ,
"source_mapping" : {
"start" : 17 ,
"length" : 16 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"is_dependency" : false ,
"lines" : [
2
] ,
"starting_column" : 5 ,
"ending_column" : 21
} ,
"type_specific_fields" : {
"parent" : {
"type" : "contract" ,
"name" : "C" ,
"source_mapping" : {
"start" : 0 ,
"length" : 700 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"is_dependency" : false ,
"lines" : [
1 ,
2 ,
3 ,
4 ,
5 ,
6 ,
7 ,
8 ,
9 ,
10 ,
11 ,
12 ,
13 ,
14 ,
15 ,
16 ,
17 ,
18 ,
19 ,
20 ,
21 ,
22 ,
23 ,
24 ,
25 ,
26 ,
27 ,
28 ,
29
] ,
"starting_column" : 1 ,
"ending_column" : 2
}
}
}
} ,
{
"type" : "function" ,
"name" : "setByValue" ,
"source_mapping" : {
"start" : 498 ,
"length" : 74 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"is_dependency" : false ,
"lines" : [
21 ,
22 ,
23
] ,
"starting_column" : 5 ,
"ending_column" : 6
} ,
"type_specific_fields" : {
"parent" : {
"type" : "contract" ,
"name" : "C" ,
"source_mapping" : {
"start" : 0 ,
"length" : 700 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"is_dependency" : false ,
"lines" : [
1 ,
2 ,
3 ,
4 ,
5 ,
6 ,
7 ,
8 ,
9 ,
10 ,
11 ,
12 ,
13 ,
14 ,
15 ,
16 ,
17 ,
18 ,
19 ,
20 ,
21 ,
22 ,
23 ,
24 ,
25 ,
26 ,
27 ,
28 ,
29
] ,
"starting_column" : 1 ,
"ending_column" : 2
}
} ,
"signature" : "setByValue(uint256[1])"
}
}
] ,
"description" : "C.f() (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#4-8) passes array C.x (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#2)by reference to C.setByValue(uint256[1]) (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#21-23)which only takes arrays by value\n" ,
"markdown" : "[C.f()](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L4-L8) passes array [C.x](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L2)by reference to [C.setByValue(uint256[1])](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L21-L23)which only takes arrays by value\n" ,
"first_markdown_element" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L4-L8" ,
"id" : "79a462bf06ae529ad099f2170100298da30766fcc06884e03436d2b53110d208" ,
"check" : "array-by-reference" ,
"impact" : "High" ,
"confidence" : "High"
} ,
{
"elements" : [
{
"type" : "function" ,
"name" : "f" ,
"source_mapping" : {
"start" : 40 ,
"length" : 167 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"is_dependency" : false ,
"lines" : [
4 ,
5 ,
6 ,
7 ,
8
] ,
"starting_column" : 5 ,
"ending_column" : 6
} ,
"type_specific_fields" : {
"parent" : {
"type" : "contract" ,
"name" : "C" ,
"source_mapping" : {
"start" : 0 ,
"length" : 700 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"is_dependency" : false ,
"lines" : [
1 ,
2 ,
3 ,
4 ,
5 ,
6 ,
7 ,
8 ,
9 ,
10 ,
11 ,
12 ,
13 ,
14 ,
15 ,
16 ,
17 ,
18 ,
19 ,
20 ,
21 ,
22 ,
23 ,
24 ,
25 ,
26 ,
27 ,
28 ,
29
] ,
"starting_column" : 1 ,
"ending_column" : 2
}
} ,
"signature" : "f()"
}
} ,
{
"type" : "variable" ,
"name" : "x" ,
"source_mapping" : {
"start" : 17 ,
"length" : 16 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"is_dependency" : false ,
"lines" : [
2
] ,
"starting_column" : 5 ,
"ending_column" : 21
} ,
"type_specific_fields" : {
"parent" : {
"type" : "contract" ,
"name" : "C" ,
"source_mapping" : {
"start" : 0 ,
"length" : 700 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"is_dependency" : false ,
"lines" : [
1 ,
2 ,
3 ,
4 ,
5 ,
6 ,
7 ,
8 ,
9 ,
10 ,
11 ,
12 ,
13 ,
14 ,
15 ,
16 ,
17 ,
18 ,
19 ,
20 ,
21 ,
22 ,
23 ,
24 ,
25 ,
26 ,
27 ,
28 ,
29
] ,
"starting_column" : 1 ,
"ending_column" : 2
}
}
}
} ,
{
"type" : "function" ,
"name" : "setByValueAndReturn" ,
"source_mapping" : {
"start" : 578 ,
"length" : 120 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"is_dependency" : false ,
"lines" : [
25 ,
26 ,
27 ,
28
] ,
"starting_column" : 5 ,
"ending_column" : 6
} ,
"type_specific_fields" : {
"parent" : {
"type" : "contract" ,
"name" : "C" ,
"source_mapping" : {
"start" : 0 ,
"length" : 700 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"is_dependency" : false ,
"lines" : [
1 ,
2 ,
3 ,
4 ,
5 ,
6 ,
7 ,
8 ,
9 ,
10 ,
11 ,
12 ,
13 ,
14 ,
15 ,
16 ,
17 ,
18 ,
19 ,
20 ,
21 ,
22 ,
23 ,
24 ,
25 ,
26 ,
27 ,
28 ,
29
] ,
"starting_column" : 1 ,
"ending_column" : 2
}
} ,
"signature" : "setByValueAndReturn(uint256[1])"
}
}
] ,
"description" : "C.f() (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#4-8) passes array C.x (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#2)by reference to C.setByValueAndReturn(uint256[1]) (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#25-28)which only takes arrays by value\n" ,
"markdown" : "[C.f()](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L4-L8) passes array [C.x](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L2)by reference to [C.setByValueAndReturn(uint256[1])](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L25-L28)which only takes arrays by value\n" ,
"first_markdown_element" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L4-L8" ,
"id" : "7f1eda9be40002affd2e8e31d172d3ee3374f37b1106118c79f4add7a133bbd0" ,
"check" : "array-by-reference" ,
"impact" : "High" ,
"confidence" : "High"
} ,
{
"elements" : [
{
"type" : "function" ,
"name" : "g" ,
"source_mapping" : {
"start" : 213 ,
"length" : 198 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"is_dependency" : false ,
"lines" : [
10 ,
11 ,
12 ,
13 ,
14 ,
15
] ,
"starting_column" : 5 ,
"ending_column" : 6
} ,
"type_specific_fields" : {
"parent" : {
"type" : "contract" ,
"name" : "C" ,
"source_mapping" : {
"start" : 0 ,
"length" : 700 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"is_dependency" : false ,
"lines" : [
1 ,
2 ,
3 ,
4 ,
5 ,
6 ,
7 ,
8 ,
9 ,
10 ,
11 ,
12 ,
13 ,
14 ,
15 ,
16 ,
17 ,
18 ,
19 ,
20 ,
21 ,
22 ,
23 ,
24 ,
25 ,
26 ,
27 ,
28 ,
29
] ,
"starting_column" : 1 ,
"ending_column" : 2
}
} ,
"signature" : "g()"
}
} ,
{
"type" : "variable" ,
"name" : "y" ,
"source_mapping" : {
"start" : 243 ,
"length" : 21 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"is_dependency" : false ,
"lines" : [
11
] ,
"starting_column" : 9 ,
"ending_column" : 30
} ,
"type_specific_fields" : {
"parent" : {
"type" : "function" ,
"name" : "g" ,
"source_mapping" : {
"start" : 213 ,
"length" : 198 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"is_dependency" : false ,
"lines" : [
10 ,
11 ,
12 ,
13 ,
14 ,
15
] ,
"starting_column" : 5 ,
"ending_column" : 6
} ,
"type_specific_fields" : {
"parent" : {
"type" : "contract" ,
"name" : "C" ,
"source_mapping" : {
"start" : 0 ,
"length" : 700 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"is_dependency" : false ,
"lines" : [
1 ,
2 ,
3 ,
4 ,
5 ,
6 ,
7 ,
8 ,
9 ,
10 ,
11 ,
12 ,
13 ,
14 ,
15 ,
16 ,
17 ,
18 ,
19 ,
20 ,
21 ,
22 ,
23 ,
24 ,
25 ,
26 ,
27 ,
28 ,
29
] ,
"starting_column" : 1 ,
"ending_column" : 2
}
} ,
"signature" : "g()"
}
}
}
} ,
{
"type" : "function" ,
"name" : "setByValueAndReturn" ,
"source_mapping" : {
"start" : 578 ,
"length" : 120 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"is_dependency" : false ,
"lines" : [
25 ,
26 ,
27 ,
28
] ,
"starting_column" : 5 ,
"ending_column" : 6
} ,
"type_specific_fields" : {
"parent" : {
"type" : "contract" ,
"name" : "C" ,
"source_mapping" : {
"start" : 0 ,
"length" : 700 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"is_dependency" : false ,
"lines" : [
1 ,
2 ,
3 ,
4 ,
5 ,
6 ,
7 ,
8 ,
9 ,
10 ,
11 ,
12 ,
13 ,
14 ,
15 ,
16 ,
17 ,
18 ,
19 ,
20 ,
21 ,
22 ,
23 ,
24 ,
25 ,
26 ,
27 ,
28 ,
29
] ,
"starting_column" : 1 ,
"ending_column" : 2
}
} ,
"signature" : "setByValueAndReturn(uint256[1])"
}
}
] ,
"description" : "C.g() (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#10-15) passes array C.g().y (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#11)by reference to C.setByValueAndReturn(uint256[1]) (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#25-28)which only takes arrays by value\n" ,
"markdown" : "[C.g()](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L10-L15) passes array [C.g().y](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L11)by reference to [C.setByValueAndReturn(uint256[1])](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L25-L28)which only takes arrays by value\n" ,
"first_markdown_element" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L10-L15" ,
"id" : "8655e8acd84a6e8152acd2d9730ea0dfdda0723e09b2dcbfdbbeb8da8bd04fa5" ,
"check" : "array-by-reference" ,
"impact" : "High" ,
"confidence" : "High"
} ,
{
"elements" : [
{
"type" : "function" ,
"name" : "g" ,
"source_mapping" : {
"start" : 213 ,
"length" : 198 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"is_dependency" : false ,
"lines" : [
10 ,
11 ,
12 ,
13 ,
14 ,
15
] ,
"starting_column" : 5 ,
"ending_column" : 6
} ,
"type_specific_fields" : {
"parent" : {
"type" : "contract" ,
"name" : "C" ,
"source_mapping" : {
"start" : 0 ,
"length" : 700 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"is_dependency" : false ,
"lines" : [
1 ,
2 ,
3 ,
4 ,
5 ,
6 ,
7 ,
8 ,
9 ,
10 ,
11 ,
12 ,
13 ,
14 ,
15 ,
16 ,
17 ,
18 ,
19 ,
20 ,
21 ,
22 ,
23 ,
24 ,
25 ,
26 ,
27 ,
28 ,
29
] ,
"starting_column" : 1 ,
"ending_column" : 2
}
} ,
"signature" : "g()"
}
} ,
{
"type" : "variable" ,
"name" : "y" ,
"source_mapping" : {
"start" : 243 ,
"length" : 21 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"is_dependency" : false ,
"lines" : [
11
] ,
"starting_column" : 9 ,
"ending_column" : 30
} ,
"type_specific_fields" : {
"parent" : {
"type" : "function" ,
"name" : "g" ,
"source_mapping" : {
"start" : 213 ,
"length" : 198 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"is_dependency" : false ,
"lines" : [
10 ,
11 ,
12 ,
13 ,
14 ,
15
] ,
"starting_column" : 5 ,
"ending_column" : 6
} ,
"type_specific_fields" : {
"parent" : {
"type" : "contract" ,
"name" : "C" ,
"source_mapping" : {
"start" : 0 ,
"length" : 700 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"is_dependency" : false ,
"lines" : [
1 ,
2 ,
3 ,
4 ,
5 ,
6 ,
7 ,
8 ,
9 ,
10 ,
11 ,
12 ,
13 ,
14 ,
15 ,
16 ,
17 ,
18 ,
19 ,
20 ,
21 ,
22 ,
23 ,
24 ,
25 ,
26 ,
27 ,
28 ,
29
] ,
"starting_column" : 1 ,
"ending_column" : 2
}
} ,
"signature" : "g()"
}
}
}
} ,
{
"type" : "function" ,
"name" : "setByValue" ,
"source_mapping" : {
"start" : 498 ,
"length" : 74 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"is_dependency" : false ,
"lines" : [
21 ,
22 ,
23
] ,
"starting_column" : 5 ,
"ending_column" : 6
} ,
"type_specific_fields" : {
"parent" : {
"type" : "contract" ,
"name" : "C" ,
"source_mapping" : {
"start" : 0 ,
"length" : 700 ,
"filename_used" : "/GENERIC_PATH" ,
"filename_relative" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"filename_absolute" : "/GENERIC_PATH" ,
"filename_short" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol" ,
"is_dependency" : false ,
"lines" : [
1 ,
2 ,
3 ,
4 ,
5 ,
6 ,
7 ,
8 ,
9 ,
10 ,
11 ,
12 ,
13 ,
14 ,
15 ,
16 ,
17 ,
18 ,
19 ,
20 ,
21 ,
22 ,
23 ,
24 ,
25 ,
26 ,
27 ,
28 ,
29
] ,
"starting_column" : 1 ,
"ending_column" : 2
}
} ,
"signature" : "setByValue(uint256[1])"
}
}
] ,
"description" : "C.g() (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#10-15) passes array C.g().y (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#11)by reference to C.setByValue(uint256[1]) (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#21-23)which only takes arrays by value\n" ,
"markdown" : "[C.g()](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L10-L15) passes array [C.g().y](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L11)by reference to [C.setByValue(uint256[1])](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L21-L23)which only takes arrays by value\n" ,
"first_markdown_element" : "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L10-L15" ,
"id" : "d039169712808e785bf2e53f322c1c6fcd6b93a0a0c17f1a701addd09ed83996" ,
"check" : "array-by-reference" ,
"impact" : "High" ,
"confidence" : "High"
}
]
]