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.
472 lines
16 KiB
472 lines
16 KiB
{
|
|
"success": true,
|
|
"error": null,
|
|
"results": {
|
|
"detectors": [
|
|
{
|
|
"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()"
|
|
}
|
|
}
|
|
],
|
|
"description": "Uninitialized.destination (tests/uninitialized.sol#5) is never initialized. It is used in:\n\t- Uninitialized.transfer() (tests/uninitialized.sol#7-9)\n",
|
|
"markdown": "[Uninitialized.destination](tests/uninitialized.sol#L5) is never initialized. It is used in:\n\t- [Uninitialized.transfer()](tests/uninitialized.sol#L7-L9)\n",
|
|
"id": "e4711aebbd53922a9fe1e728917bf8e98eac065305e20d766b6b552debe79e44",
|
|
"check": "uninitialized-state",
|
|
"impact": "High",
|
|
"confidence": "High"
|
|
},
|
|
{
|
|
"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()"
|
|
}
|
|
}
|
|
],
|
|
"description": "Test.balances (tests/uninitialized.sol#15) is never initialized. It is used in:\n\t- Test.use() (tests/uninitialized.sol#23-26)\n",
|
|
"markdown": "[Test.balances](tests/uninitialized.sol#L15) is never initialized. It is used in:\n\t- [Test.use()](tests/uninitialized.sol#L23-L26)\n",
|
|
"id": "a2750d175b02d51aeb47a4576f74725ba991d3c8cf828a33ee78ccc34cf9e7d7",
|
|
"check": "uninitialized-state",
|
|
"impact": "High",
|
|
"confidence": "High"
|
|
},
|
|
{
|
|
"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()"
|
|
}
|
|
}
|
|
],
|
|
"description": "Test2.st (tests/uninitialized.sol#45) is never initialized. It is used in:\n\t- Test2.use() (tests/uninitialized.sol#53-56)\n",
|
|
"markdown": "[Test2.st](tests/uninitialized.sol#L45) is never initialized. It is used in:\n\t- [Test2.use()](tests/uninitialized.sol#L53-L56)\n",
|
|
"id": "427f100397f455d8000eff7b1d2463763ca8e452d5d98f7b7de693fd5e625a32",
|
|
"check": "uninitialized-state",
|
|
"impact": "High",
|
|
"confidence": "High"
|
|
},
|
|
{
|
|
"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()"
|
|
}
|
|
}
|
|
],
|
|
"description": "Test2.v (tests/uninitialized.sol#47) is never initialized. It is used in:\n\t- Test2.init() (tests/uninitialized.sol#49-51)\n",
|
|
"markdown": "[Test2.v](tests/uninitialized.sol#L47) is never initialized. It is used in:\n\t- [Test2.init()](tests/uninitialized.sol#L49-L51)\n",
|
|
"id": "bf96eee949943a12926cf1407a2df2b07e99b30a6fc2e78aebf088cdefcf77a7",
|
|
"check": "uninitialized-state",
|
|
"impact": "High",
|
|
"confidence": "High"
|
|
}
|
|
]
|
|
}
|
|
} |