mirror of https://github.com/crytic/slither
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
464 lines
16 KiB
464 lines
16 KiB
{
|
|
"success": true,
|
|
"error": null,
|
|
"results": {
|
|
"detectors": [
|
|
{
|
|
"check": "uninitialized-state",
|
|
"impact": "High",
|
|
"confidence": "High",
|
|
"description": "Uninitialized.destination (tests/uninitialized.sol#5) is never initialized. It is used in:\n\t- transfer (tests/uninitialized.sol#7-9)\n",
|
|
"elements": [
|
|
{
|
|
"type": "variable",
|
|
"name": "destination",
|
|
"source_mapping": {
|
|
"start": 55,
|
|
"length": 19,
|
|
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized.sol",
|
|
"filename_relative": "tests/uninitialized.sol",
|
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol",
|
|
"filename_short": "tests/uninitialized.sol",
|
|
"is_dependency": false,
|
|
"lines": [
|
|
5
|
|
],
|
|
"starting_column": 5,
|
|
"ending_column": 24
|
|
},
|
|
"type_specific_fields": {
|
|
"parent": {
|
|
"type": "contract",
|
|
"name": "Uninitialized",
|
|
"source_mapping": {
|
|
"start": 26,
|
|
"length": 140,
|
|
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized.sol",
|
|
"filename_relative": "tests/uninitialized.sol",
|
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol",
|
|
"filename_short": "tests/uninitialized.sol",
|
|
"is_dependency": false,
|
|
"lines": [
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8,
|
|
9,
|
|
10,
|
|
11
|
|
],
|
|
"starting_column": 1,
|
|
"ending_column": 2
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "function",
|
|
"name": "transfer",
|
|
"source_mapping": {
|
|
"start": 81,
|
|
"length": 82,
|
|
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized.sol",
|
|
"filename_relative": "tests/uninitialized.sol",
|
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol",
|
|
"filename_short": "tests/uninitialized.sol",
|
|
"is_dependency": false,
|
|
"lines": [
|
|
7,
|
|
8,
|
|
9
|
|
],
|
|
"starting_column": 5,
|
|
"ending_column": 6
|
|
},
|
|
"type_specific_fields": {
|
|
"parent": {
|
|
"type": "contract",
|
|
"name": "Uninitialized",
|
|
"source_mapping": {
|
|
"start": 26,
|
|
"length": 140,
|
|
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized.sol",
|
|
"filename_relative": "tests/uninitialized.sol",
|
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol",
|
|
"filename_short": "tests/uninitialized.sol",
|
|
"is_dependency": false,
|
|
"lines": [
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8,
|
|
9,
|
|
10,
|
|
11
|
|
],
|
|
"starting_column": 1,
|
|
"ending_column": 2
|
|
}
|
|
},
|
|
"signature": "transfer()"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"check": "uninitialized-state",
|
|
"impact": "High",
|
|
"confidence": "High",
|
|
"description": "Test.balances (tests/uninitialized.sol#15) is never initialized. It is used in:\n\t- use (tests/uninitialized.sol#23-26)\n",
|
|
"elements": [
|
|
{
|
|
"type": "variable",
|
|
"name": "balances",
|
|
"source_mapping": {
|
|
"start": 189,
|
|
"length": 34,
|
|
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized.sol",
|
|
"filename_relative": "tests/uninitialized.sol",
|
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol",
|
|
"filename_short": "tests/uninitialized.sol",
|
|
"is_dependency": false,
|
|
"lines": [
|
|
15
|
|
],
|
|
"starting_column": 5,
|
|
"ending_column": 39
|
|
},
|
|
"type_specific_fields": {
|
|
"parent": {
|
|
"type": "contract",
|
|
"name": "Test",
|
|
"source_mapping": {
|
|
"start": 169,
|
|
"length": 332,
|
|
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized.sol",
|
|
"filename_relative": "tests/uninitialized.sol",
|
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol",
|
|
"filename_short": "tests/uninitialized.sol",
|
|
"is_dependency": false,
|
|
"lines": [
|
|
14,
|
|
15,
|
|
16,
|
|
17,
|
|
18,
|
|
19,
|
|
20,
|
|
21,
|
|
22,
|
|
23,
|
|
24,
|
|
25,
|
|
26,
|
|
27
|
|
],
|
|
"starting_column": 1,
|
|
"ending_column": 2
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "function",
|
|
"name": "use",
|
|
"source_mapping": {
|
|
"start": 356,
|
|
"length": 143,
|
|
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized.sol",
|
|
"filename_relative": "tests/uninitialized.sol",
|
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol",
|
|
"filename_short": "tests/uninitialized.sol",
|
|
"is_dependency": false,
|
|
"lines": [
|
|
23,
|
|
24,
|
|
25,
|
|
26
|
|
],
|
|
"starting_column": 5,
|
|
"ending_column": 6
|
|
},
|
|
"type_specific_fields": {
|
|
"parent": {
|
|
"type": "contract",
|
|
"name": "Test",
|
|
"source_mapping": {
|
|
"start": 169,
|
|
"length": 332,
|
|
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized.sol",
|
|
"filename_relative": "tests/uninitialized.sol",
|
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol",
|
|
"filename_short": "tests/uninitialized.sol",
|
|
"is_dependency": false,
|
|
"lines": [
|
|
14,
|
|
15,
|
|
16,
|
|
17,
|
|
18,
|
|
19,
|
|
20,
|
|
21,
|
|
22,
|
|
23,
|
|
24,
|
|
25,
|
|
26,
|
|
27
|
|
],
|
|
"starting_column": 1,
|
|
"ending_column": 2
|
|
}
|
|
},
|
|
"signature": "use()"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"check": "uninitialized-state",
|
|
"impact": "High",
|
|
"confidence": "High",
|
|
"description": "Test2.st (tests/uninitialized.sol#45) is never initialized. It is used in:\n\t- use (tests/uninitialized.sol#53-56)\n",
|
|
"elements": [
|
|
{
|
|
"type": "variable",
|
|
"name": "st",
|
|
"source_mapping": {
|
|
"start": 695,
|
|
"length": 15,
|
|
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized.sol",
|
|
"filename_relative": "tests/uninitialized.sol",
|
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol",
|
|
"filename_short": "tests/uninitialized.sol",
|
|
"is_dependency": false,
|
|
"lines": [
|
|
45
|
|
],
|
|
"starting_column": 5,
|
|
"ending_column": 20
|
|
},
|
|
"type_specific_fields": {
|
|
"parent": {
|
|
"type": "contract",
|
|
"name": "Test2",
|
|
"source_mapping": {
|
|
"start": 641,
|
|
"length": 354,
|
|
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized.sol",
|
|
"filename_relative": "tests/uninitialized.sol",
|
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol",
|
|
"filename_short": "tests/uninitialized.sol",
|
|
"is_dependency": false,
|
|
"lines": [
|
|
42,
|
|
43,
|
|
44,
|
|
45,
|
|
46,
|
|
47,
|
|
48,
|
|
49,
|
|
50,
|
|
51,
|
|
52,
|
|
53,
|
|
54,
|
|
55,
|
|
56,
|
|
57,
|
|
58
|
|
],
|
|
"starting_column": 1,
|
|
"ending_column": 2
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "function",
|
|
"name": "use",
|
|
"source_mapping": {
|
|
"start": 875,
|
|
"length": 117,
|
|
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized.sol",
|
|
"filename_relative": "tests/uninitialized.sol",
|
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol",
|
|
"filename_short": "tests/uninitialized.sol",
|
|
"is_dependency": false,
|
|
"lines": [
|
|
53,
|
|
54,
|
|
55,
|
|
56
|
|
],
|
|
"starting_column": 5,
|
|
"ending_column": 6
|
|
},
|
|
"type_specific_fields": {
|
|
"parent": {
|
|
"type": "contract",
|
|
"name": "Test2",
|
|
"source_mapping": {
|
|
"start": 641,
|
|
"length": 354,
|
|
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized.sol",
|
|
"filename_relative": "tests/uninitialized.sol",
|
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol",
|
|
"filename_short": "tests/uninitialized.sol",
|
|
"is_dependency": false,
|
|
"lines": [
|
|
42,
|
|
43,
|
|
44,
|
|
45,
|
|
46,
|
|
47,
|
|
48,
|
|
49,
|
|
50,
|
|
51,
|
|
52,
|
|
53,
|
|
54,
|
|
55,
|
|
56,
|
|
57,
|
|
58
|
|
],
|
|
"starting_column": 1,
|
|
"ending_column": 2
|
|
}
|
|
},
|
|
"signature": "use()"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"check": "uninitialized-state",
|
|
"impact": "High",
|
|
"confidence": "High",
|
|
"description": "Test2.v (tests/uninitialized.sol#47) is never initialized. It is used in:\n\t- init (tests/uninitialized.sol#49-51)\n",
|
|
"elements": [
|
|
{
|
|
"type": "variable",
|
|
"name": "v",
|
|
"source_mapping": {
|
|
"start": 748,
|
|
"length": 6,
|
|
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized.sol",
|
|
"filename_relative": "tests/uninitialized.sol",
|
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol",
|
|
"filename_short": "tests/uninitialized.sol",
|
|
"is_dependency": false,
|
|
"lines": [
|
|
47
|
|
],
|
|
"starting_column": 5,
|
|
"ending_column": 11
|
|
},
|
|
"type_specific_fields": {
|
|
"parent": {
|
|
"type": "contract",
|
|
"name": "Test2",
|
|
"source_mapping": {
|
|
"start": 641,
|
|
"length": 354,
|
|
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized.sol",
|
|
"filename_relative": "tests/uninitialized.sol",
|
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol",
|
|
"filename_short": "tests/uninitialized.sol",
|
|
"is_dependency": false,
|
|
"lines": [
|
|
42,
|
|
43,
|
|
44,
|
|
45,
|
|
46,
|
|
47,
|
|
48,
|
|
49,
|
|
50,
|
|
51,
|
|
52,
|
|
53,
|
|
54,
|
|
55,
|
|
56,
|
|
57,
|
|
58
|
|
],
|
|
"starting_column": 1,
|
|
"ending_column": 2
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "function",
|
|
"name": "init",
|
|
"source_mapping": {
|
|
"start": 817,
|
|
"length": 52,
|
|
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized.sol",
|
|
"filename_relative": "tests/uninitialized.sol",
|
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol",
|
|
"filename_short": "tests/uninitialized.sol",
|
|
"is_dependency": false,
|
|
"lines": [
|
|
49,
|
|
50,
|
|
51
|
|
],
|
|
"starting_column": 5,
|
|
"ending_column": 6
|
|
},
|
|
"type_specific_fields": {
|
|
"parent": {
|
|
"type": "contract",
|
|
"name": "Test2",
|
|
"source_mapping": {
|
|
"start": 641,
|
|
"length": 354,
|
|
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized.sol",
|
|
"filename_relative": "tests/uninitialized.sol",
|
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol",
|
|
"filename_short": "tests/uninitialized.sol",
|
|
"is_dependency": false,
|
|
"lines": [
|
|
42,
|
|
43,
|
|
44,
|
|
45,
|
|
46,
|
|
47,
|
|
48,
|
|
49,
|
|
50,
|
|
51,
|
|
52,
|
|
53,
|
|
54,
|
|
55,
|
|
56,
|
|
57,
|
|
58
|
|
],
|
|
"starting_column": 1,
|
|
"ending_column": 2
|
|
}
|
|
},
|
|
"signature": "init()"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
} |