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
17 KiB
472 lines
17 KiB
{
|
|
"success": true,
|
|
"error": null,
|
|
"results": {
|
|
"detectors": [
|
|
{
|
|
"elements": [
|
|
{
|
|
"type": "variable",
|
|
"name": "destination",
|
|
"source_mapping": {
|
|
"start": 54,
|
|
"length": 27,
|
|
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol",
|
|
"filename_relative": "tests/uninitialized-0.5.1.sol",
|
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol",
|
|
"filename_short": "tests/uninitialized-0.5.1.sol",
|
|
"is_dependency": false,
|
|
"lines": [
|
|
5
|
|
],
|
|
"starting_column": 5,
|
|
"ending_column": 32
|
|
},
|
|
"type_specific_fields": {
|
|
"parent": {
|
|
"type": "contract",
|
|
"name": "Uninitialized",
|
|
"source_mapping": {
|
|
"start": 25,
|
|
"length": 148,
|
|
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol",
|
|
"filename_relative": "tests/uninitialized-0.5.1.sol",
|
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol",
|
|
"filename_short": "tests/uninitialized-0.5.1.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": 88,
|
|
"length": 82,
|
|
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol",
|
|
"filename_relative": "tests/uninitialized-0.5.1.sol",
|
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol",
|
|
"filename_short": "tests/uninitialized-0.5.1.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": 25,
|
|
"length": 148,
|
|
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol",
|
|
"filename_relative": "tests/uninitialized-0.5.1.sol",
|
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol",
|
|
"filename_short": "tests/uninitialized-0.5.1.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-0.5.1.sol#5) is never initialized. It is used in:\n\t- Uninitialized.transfer() (tests/uninitialized-0.5.1.sol#7-9)\n",
|
|
"markdown": "[Uninitialized.destination](tests/uninitialized-0.5.1.sol#L5) is never initialized. It is used in:\n\t- [Uninitialized.transfer()](tests/uninitialized-0.5.1.sol#L7-L9)\n",
|
|
"id": "e4711aebbd53922a9fe1e728917bf8e98eac065305e20d766b6b552debe79e44",
|
|
"check": "uninitialized-state",
|
|
"impact": "High",
|
|
"confidence": "High"
|
|
},
|
|
{
|
|
"elements": [
|
|
{
|
|
"type": "variable",
|
|
"name": "balances",
|
|
"source_mapping": {
|
|
"start": 196,
|
|
"length": 34,
|
|
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol",
|
|
"filename_relative": "tests/uninitialized-0.5.1.sol",
|
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol",
|
|
"filename_short": "tests/uninitialized-0.5.1.sol",
|
|
"is_dependency": false,
|
|
"lines": [
|
|
15
|
|
],
|
|
"starting_column": 5,
|
|
"ending_column": 39
|
|
},
|
|
"type_specific_fields": {
|
|
"parent": {
|
|
"type": "contract",
|
|
"name": "Test",
|
|
"source_mapping": {
|
|
"start": 176,
|
|
"length": 349,
|
|
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol",
|
|
"filename_relative": "tests/uninitialized-0.5.1.sol",
|
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol",
|
|
"filename_short": "tests/uninitialized-0.5.1.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": 369,
|
|
"length": 154,
|
|
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol",
|
|
"filename_relative": "tests/uninitialized-0.5.1.sol",
|
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol",
|
|
"filename_short": "tests/uninitialized-0.5.1.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": 176,
|
|
"length": 349,
|
|
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol",
|
|
"filename_relative": "tests/uninitialized-0.5.1.sol",
|
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol",
|
|
"filename_short": "tests/uninitialized-0.5.1.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-0.5.1.sol#15) is never initialized. It is used in:\n\t- Test.use() (tests/uninitialized-0.5.1.sol#23-26)\n",
|
|
"markdown": "[Test.balances](tests/uninitialized-0.5.1.sol#L15) is never initialized. It is used in:\n\t- [Test.use()](tests/uninitialized-0.5.1.sol#L23-L26)\n",
|
|
"id": "a2750d175b02d51aeb47a4576f74725ba991d3c8cf828a33ee78ccc34cf9e7d7",
|
|
"check": "uninitialized-state",
|
|
"impact": "High",
|
|
"confidence": "High"
|
|
},
|
|
{
|
|
"elements": [
|
|
{
|
|
"type": "variable",
|
|
"name": "st",
|
|
"source_mapping": {
|
|
"start": 726,
|
|
"length": 15,
|
|
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol",
|
|
"filename_relative": "tests/uninitialized-0.5.1.sol",
|
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol",
|
|
"filename_short": "tests/uninitialized-0.5.1.sol",
|
|
"is_dependency": false,
|
|
"lines": [
|
|
45
|
|
],
|
|
"starting_column": 5,
|
|
"ending_column": 20
|
|
},
|
|
"type_specific_fields": {
|
|
"parent": {
|
|
"type": "contract",
|
|
"name": "Test2",
|
|
"source_mapping": {
|
|
"start": 672,
|
|
"length": 373,
|
|
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol",
|
|
"filename_relative": "tests/uninitialized-0.5.1.sol",
|
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol",
|
|
"filename_short": "tests/uninitialized-0.5.1.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": 913,
|
|
"length": 129,
|
|
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol",
|
|
"filename_relative": "tests/uninitialized-0.5.1.sol",
|
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol",
|
|
"filename_short": "tests/uninitialized-0.5.1.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": 672,
|
|
"length": 373,
|
|
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol",
|
|
"filename_relative": "tests/uninitialized-0.5.1.sol",
|
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol",
|
|
"filename_short": "tests/uninitialized-0.5.1.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-0.5.1.sol#45) is never initialized. It is used in:\n\t- Test2.use() (tests/uninitialized-0.5.1.sol#53-56)\n",
|
|
"markdown": "[Test2.st](tests/uninitialized-0.5.1.sol#L45) is never initialized. It is used in:\n\t- [Test2.use()](tests/uninitialized-0.5.1.sol#L53-L56)\n",
|
|
"id": "427f100397f455d8000eff7b1d2463763ca8e452d5d98f7b7de693fd5e625a32",
|
|
"check": "uninitialized-state",
|
|
"impact": "High",
|
|
"confidence": "High"
|
|
},
|
|
{
|
|
"elements": [
|
|
{
|
|
"type": "variable",
|
|
"name": "v",
|
|
"source_mapping": {
|
|
"start": 779,
|
|
"length": 6,
|
|
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol",
|
|
"filename_relative": "tests/uninitialized-0.5.1.sol",
|
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol",
|
|
"filename_short": "tests/uninitialized-0.5.1.sol",
|
|
"is_dependency": false,
|
|
"lines": [
|
|
47
|
|
],
|
|
"starting_column": 5,
|
|
"ending_column": 11
|
|
},
|
|
"type_specific_fields": {
|
|
"parent": {
|
|
"type": "contract",
|
|
"name": "Test2",
|
|
"source_mapping": {
|
|
"start": 672,
|
|
"length": 373,
|
|
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol",
|
|
"filename_relative": "tests/uninitialized-0.5.1.sol",
|
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol",
|
|
"filename_short": "tests/uninitialized-0.5.1.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": 848,
|
|
"length": 59,
|
|
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol",
|
|
"filename_relative": "tests/uninitialized-0.5.1.sol",
|
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol",
|
|
"filename_short": "tests/uninitialized-0.5.1.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": 672,
|
|
"length": 373,
|
|
"filename_used": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol",
|
|
"filename_relative": "tests/uninitialized-0.5.1.sol",
|
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol",
|
|
"filename_short": "tests/uninitialized-0.5.1.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-0.5.1.sol#47) is never initialized. It is used in:\n\t- Test2.init() (tests/uninitialized-0.5.1.sol#49-51)\n",
|
|
"markdown": "[Test2.v](tests/uninitialized-0.5.1.sol#L47) is never initialized. It is used in:\n\t- [Test2.init()](tests/uninitialized-0.5.1.sol#L49-L51)\n",
|
|
"id": "bf96eee949943a12926cf1407a2df2b07e99b30a6fc2e78aebf088cdefcf77a7",
|
|
"check": "uninitialized-state",
|
|
"impact": "High",
|
|
"confidence": "High"
|
|
}
|
|
]
|
|
}
|
|
} |