move solc parsing and detectors into e2e folder

pull/1782/head
alpharush 2 years ago
parent ed5f2200c3
commit 2ad442b270
  1. 32
      tests/detectors/rtlo/0.4.25/right_to_left_override.sol.0.4.25.RightToLeftOverride.json
  2. 32
      tests/detectors/rtlo/0.5.16/right_to_left_override.sol.0.5.16.RightToLeftOverride.json
  3. 32
      tests/detectors/rtlo/0.6.11/right_to_left_override.sol.0.6.11.RightToLeftOverride.json
  4. 88
      tests/detectors/rtlo/0.8.0/unicode_direction_override.sol.0.8.0.RightToLeftOverride.json
  5. 3
      tests/detectors/storage-array/0.5.10/storage_signed_integer_array.sol.0.5.10.StorageSignedIntegerArray.json
  6. 3
      tests/detectors/storage-array/0.5.16/storage_signed_integer_array.sol.0.5.16.StorageSignedIntegerArray.json
  7. 3
      tests/detectors/uninitialized-fptr-cst/0.5.16/uninitialized_function_ptr_constructor.sol.0.5.16.UninitializedFunctionPtrsConstructor.json
  8. 0
      tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol
  9. 320
      tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol.0.4.25.ABIEncoderV2Array.json
  10. 0
      tests/e2e/detectors/test_data/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol
  11. 0
      tests/e2e/detectors/test_data/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol.0.5.10.ABIEncoderV2Array.json
  12. 0
      tests/e2e/detectors/test_data/abiencoderv2-array/0.5.11/storage_ABIEncoderV2_array.sol.0.5.11.ABIEncoderV2Array.json
  13. 0
      tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol
  14. 396
      tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol.0.5.9.ABIEncoderV2Array.json
  15. 0
      tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol
  16. 280
      tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol.0.4.25.ArbitrarySendErc20Permit.json
  17. 0
      tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol
  18. 232
      tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol.0.5.16.ArbitrarySendErc20Permit.json
  19. 0
      tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol
  20. 112
      tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol.0.6.11.ArbitrarySendErc20Permit.json
  21. 0
      tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol
  22. 280
      tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol.0.7.6.ArbitrarySendErc20Permit.json
  23. 0
      tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol
  24. 274
      tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol.0.8.0.ArbitrarySendErc20Permit.json
  25. 0
      tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol
  26. 160
      tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol.0.4.25.ArbitrarySendErc20NoPermit.json
  27. 0
      tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol
  28. 160
      tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol.0.5.16.ArbitrarySendErc20NoPermit.json
  29. 0
      tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol
  30. 160
      tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol.0.6.11.ArbitrarySendErc20NoPermit.json
  31. 0
      tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol
  32. 198
      tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol.0.7.6.ArbitrarySendErc20NoPermit.json
  33. 0
      tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol
  34. 198
      tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol.0.8.0.ArbitrarySendErc20NoPermit.json
  35. 0
      tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol
  36. 28
      tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol.0.8.0.ArbitrarySendErc20NoPermit.json
  37. 0
      tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol
  38. 132
      tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol.0.4.25.ArbitrarySendEth.json
  39. 0
      tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol
  40. 56
      tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol.0.5.16.ArbitrarySendEth.json
  41. 0
      tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol
  42. 56
      tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol.0.6.11.ArbitrarySendEth.json
  43. 0
      tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol
  44. 132
      tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol.0.7.6.ArbitrarySendEth.json
  45. 0
      tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol
  46. 188
      tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol.0.4.25.ArrayByReference.json
  47. 0
      tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol
  48. 188
      tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol.0.5.16.ArrayByReference.json
  49. 0
      tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol
  50. 188
      tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol.0.6.11.ArrayByReference.json
  51. 0
      tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol
  52. 188
      tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol.0.7.6.ArrayByReference.json
  53. 0
      tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol
  54. 28
      tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol.0.4.25.Assembly.json
  55. 0
      tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol
  56. 276
      tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol.0.4.25.Assembly.json
  57. 0
      tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol
  58. 28
      tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol.0.5.16.Assembly.json
  59. 0
      tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol
  60. 56
      tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol.0.5.16.Assembly.json
  61. 0
      tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol
  62. 28
      tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol.0.6.11.Assembly.json
  63. 0
      tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol
  64. 272
      tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol.0.6.11.Assembly.json
  65. 0
      tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol
  66. 28
      tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol.0.7.6.Assembly.json
  67. 0
      tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol
  68. 272
      tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol.0.7.6.Assembly.json
  69. 0
      tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol
  70. 152
      tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol.0.4.25.AssertStateChange.json
  71. 0
      tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol
  72. 160
      tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol.0.5.16.AssertStateChange.json
  73. 0
      tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol
  74. 160
      tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol.0.6.11.AssertStateChange.json
  75. 0
      tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol
  76. 84
      tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol.0.7.6.AssertStateChange.json
  77. 0
      tests/e2e/detectors/test_data/backdoor/0.4.25/backdoor.sol
  78. 14
      tests/e2e/detectors/test_data/backdoor/0.4.25/backdoor.sol.0.4.25.Backdoor.json
  79. 0
      tests/e2e/detectors/test_data/backdoor/0.5.16/backdoor.sol
  80. 14
      tests/e2e/detectors/test_data/backdoor/0.5.16/backdoor.sol.0.5.16.Backdoor.json
  81. 0
      tests/e2e/detectors/test_data/backdoor/0.6.11/backdoor.sol
  82. 14
      tests/e2e/detectors/test_data/backdoor/0.6.11/backdoor.sol.0.6.11.Backdoor.json
  83. 0
      tests/e2e/detectors/test_data/backdoor/0.7.6/backdoor.sol
  84. 14
      tests/e2e/detectors/test_data/backdoor/0.7.6/backdoor.sol.0.7.6.Backdoor.json
  85. 0
      tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol
  86. 28
      tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol.0.4.25.BooleanConstantMisuse.json
  87. 0
      tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol
  88. 28
      tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol.0.5.16.BooleanConstantMisuse.json
  89. 0
      tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol
  90. 28
      tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol.0.6.11.BooleanConstantMisuse.json
  91. 0
      tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol
  92. 28
      tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol.0.7.6.BooleanConstantMisuse.json
  93. 0
      tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol
  94. 28
      tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol.0.4.25.BooleanEquality.json
  95. 0
      tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol
  96. 28
      tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol.0.5.16.BooleanEquality.json
  97. 0
      tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol
  98. 28
      tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol.0.6.11.BooleanEquality.json
  99. 0
      tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol
  100. 28
      tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol.0.7.6.BooleanEquality.json
  101. Some files were not shown because too many files have changed in this diff Show More

@ -1,32 +0,0 @@
[
[
{
"elements": [
{
"type": "other",
"name": "rtlo-character",
"source_mapping": {
"start": 96,
"length": 3,
"filename_relative": "tests/detectors/rtlo/0.4.25/right_to_left_override.sol",
"filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/rtlo/0.4.25/right_to_left_override.sol",
"is_dependency": false,
"lines": [
7
],
"starting_column": 18,
"ending_column": 21
}
}
],
"description": "tests/detectors/rtlo/0.4.25/right_to_left_override.sol contains a unicode right-to-left-override character at byte offset 96:\n\t- b' test1(/*A\\xe2\\x80\\xae/*B*/2 , 1/*\\xe2\\x80\\xad'\n",
"markdown": "tests/detectors/rtlo/0.4.25/right_to_left_override.sol contains a unicode right-to-left-override character at byte offset 96:\n\t- b' test1(/*A\\xe2\\x80\\xae/*B*/2 , 1/*\\xe2\\x80\\xad'\n",
"first_markdown_element": "",
"id": "02545af9e98ed496f7c9e2b2de0f66bcf8e8e31c25a2a2626b5bad92619b1f85",
"check": "rtlo",
"impact": "High",
"confidence": "High"
}
]
]

@ -1,32 +0,0 @@
[
[
{
"elements": [
{
"type": "other",
"name": "rtlo-character",
"source_mapping": {
"start": 96,
"length": 3,
"filename_relative": "tests/detectors/rtlo/0.5.16/right_to_left_override.sol",
"filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/rtlo/0.5.16/right_to_left_override.sol",
"is_dependency": false,
"lines": [
7
],
"starting_column": 18,
"ending_column": 21
}
}
],
"description": "tests/detectors/rtlo/0.5.16/right_to_left_override.sol contains a unicode right-to-left-override character at byte offset 96:\n\t- b' test1(/*A\\xe2\\x80\\xae/*B*/2 , 1/*\\xe2\\x80\\xad'\n",
"markdown": "tests/detectors/rtlo/0.5.16/right_to_left_override.sol contains a unicode right-to-left-override character at byte offset 96:\n\t- b' test1(/*A\\xe2\\x80\\xae/*B*/2 , 1/*\\xe2\\x80\\xad'\n",
"first_markdown_element": "",
"id": "d347f1cb6d791b00f8a6ad65c201eeaa527636f2bf2c5529102441c56e994b33",
"check": "rtlo",
"impact": "High",
"confidence": "High"
}
]
]

@ -1,32 +0,0 @@
[
[
{
"elements": [
{
"type": "other",
"name": "rtlo-character",
"source_mapping": {
"start": 96,
"length": 3,
"filename_relative": "tests/detectors/rtlo/0.6.11/right_to_left_override.sol",
"filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/rtlo/0.6.11/right_to_left_override.sol",
"is_dependency": false,
"lines": [
7
],
"starting_column": 18,
"ending_column": 21
}
}
],
"description": "tests/detectors/rtlo/0.6.11/right_to_left_override.sol contains a unicode right-to-left-override character at byte offset 96:\n\t- b' test1(/*A\\xe2\\x80\\xae/*B*/2 , 1/*\\xe2\\x80\\xad'\n",
"markdown": "tests/detectors/rtlo/0.6.11/right_to_left_override.sol contains a unicode right-to-left-override character at byte offset 96:\n\t- b' test1(/*A\\xe2\\x80\\xae/*B*/2 , 1/*\\xe2\\x80\\xad'\n",
"first_markdown_element": "",
"id": "2cc2fa8e55fae035ed2ebc4798c488d64e92c7c9875fe6699e39103c0b95c264",
"check": "rtlo",
"impact": "High",
"confidence": "High"
}
]
]

@ -1,88 +0,0 @@
[
[
{
"elements": [
{
"type": "other",
"name": "rtlo-character",
"source_mapping": {
"start": 336,
"length": 3,
"filename_relative": "tests/detectors/rtlo/0.8.0/unicode_direction_override.sol",
"filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/rtlo/0.8.0/unicode_direction_override.sol",
"is_dependency": false,
"lines": [
8
],
"starting_column": 14,
"ending_column": 17
}
}
],
"description": "tests/detectors/rtlo/0.8.0/unicode_direction_override.sol contains a unicode right-to-left-override character at byte offset 336:\n\t- b' /*ok \\xe2\\x80\\xaeaaa\\xe2\\x80\\xaebbb\\xe2\\x80\\xaeccc\\xe2\\x80\\xacddd\\xe2\\x80\\xaceee\\xe2\\x80\\xac*/'\n",
"markdown": "tests/detectors/rtlo/0.8.0/unicode_direction_override.sol contains a unicode right-to-left-override character at byte offset 336:\n\t- b' /*ok \\xe2\\x80\\xaeaaa\\xe2\\x80\\xaebbb\\xe2\\x80\\xaeccc\\xe2\\x80\\xacddd\\xe2\\x80\\xaceee\\xe2\\x80\\xac*/'\n",
"first_markdown_element": "",
"id": "2407672dea557be27d0c488ba9c714e6a7f21dd3f7759058e718c1984e142f95",
"check": "rtlo",
"impact": "High",
"confidence": "High"
},
{
"elements": [
{
"type": "other",
"name": "rtlo-character",
"source_mapping": {
"start": 348,
"length": 3,
"filename_relative": "tests/detectors/rtlo/0.8.0/unicode_direction_override.sol",
"filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/rtlo/0.8.0/unicode_direction_override.sol",
"is_dependency": false,
"lines": [
8
],
"starting_column": 26,
"ending_column": 29
}
}
],
"description": "tests/detectors/rtlo/0.8.0/unicode_direction_override.sol contains a unicode right-to-left-override character at byte offset 348:\n\t- b'\\x80\\xaebbb\\xe2\\x80\\xaeccc\\xe2\\x80\\xacddd\\xe2\\x80\\xaceee\\xe2\\x80\\xac*/'\n",
"markdown": "tests/detectors/rtlo/0.8.0/unicode_direction_override.sol contains a unicode right-to-left-override character at byte offset 348:\n\t- b'\\x80\\xaebbb\\xe2\\x80\\xaeccc\\xe2\\x80\\xacddd\\xe2\\x80\\xaceee\\xe2\\x80\\xac*/'\n",
"first_markdown_element": "",
"id": "477e54031d4d30d485b9cdc2d7ef3e9ae3de52640364505df8eb9619c2bcde6b",
"check": "rtlo",
"impact": "High",
"confidence": "High"
},
{
"elements": [
{
"type": "other",
"name": "rtlo-character",
"source_mapping": {
"start": 342,
"length": 3,
"filename_relative": "tests/detectors/rtlo/0.8.0/unicode_direction_override.sol",
"filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/rtlo/0.8.0/unicode_direction_override.sol",
"is_dependency": false,
"lines": [
8
],
"starting_column": 20,
"ending_column": 23
}
}
],
"description": "tests/detectors/rtlo/0.8.0/unicode_direction_override.sol contains a unicode right-to-left-override character at byte offset 342:\n\t- b'\\x80\\xaeaaa\\xe2\\x80\\xaebbb\\xe2\\x80\\xaeccc\\xe2\\x80\\xacddd\\xe2\\x80\\xaceee\\xe2\\x80\\xac*/'\n",
"markdown": "tests/detectors/rtlo/0.8.0/unicode_direction_override.sol contains a unicode right-to-left-override character at byte offset 342:\n\t- b'\\x80\\xaeaaa\\xe2\\x80\\xaebbb\\xe2\\x80\\xaeccc\\xe2\\x80\\xacddd\\xe2\\x80\\xaceee\\xe2\\x80\\xac*/'\n",
"first_markdown_element": "",
"id": "9dd23585bb0ff1f244f749281b27f62978e0bb5b0ae58c8c9cb6d3f9c7e82253",
"check": "rtlo",
"impact": "High",
"confidence": "High"
}
]
]

@ -8,9 +8,9 @@
"source_mapping": { "source_mapping": {
"start": 1076, "start": 1076,
"length": 154, "length": 154,
"filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
39, 39,
@ -27,9 +27,9 @@
"source_mapping": { "source_mapping": {
"start": 35, "start": 35,
"length": 2982, "length": 2982,
"filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
3, 3,
@ -143,9 +143,9 @@
"source_mapping": { "source_mapping": {
"start": 1195, "start": 1195,
"length": 30, "length": 30,
"filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
40 40
@ -160,9 +160,9 @@
"source_mapping": { "source_mapping": {
"start": 1076, "start": 1076,
"length": 154, "length": 154,
"filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
39, 39,
@ -179,9 +179,9 @@
"source_mapping": { "source_mapping": {
"start": 35, "start": 35,
"length": 2982, "length": 2982,
"filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
3, 3,
@ -292,10 +292,10 @@
} }
} }
], ],
"description": "Function A.bad3() (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#39-41) trigger an abi encoding bug:\n\t- b = abi.encode(s) (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#40)\n", "description": "Function A.bad3() (tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#39-41) trigger an abi encoding bug:\n\t- b = abi.encode(s) (tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#40)\n",
"markdown": "Function [A.bad3()](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L39-L41) trigger an abi encoding bug:\n\t- [b = abi.encode(s)](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L40)\n", "markdown": "Function [A.bad3()](tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L39-L41) trigger an abi encoding bug:\n\t- [b = abi.encode(s)](tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L40)\n",
"first_markdown_element": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L39-L41", "first_markdown_element": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L39-L41",
"id": "0c50cf7f7b16d965ef04035beb09d25f3fa1fa4afeeb079ea42f2db879e8f1e9", "id": "263bbb90844d3204496ff3dbf6cefcde2cd43fb91414e0c31340a3307bb1e61e",
"check": "abiencoderv2-array", "check": "abiencoderv2-array",
"impact": "High", "impact": "High",
"confidence": "High" "confidence": "High"
@ -304,18 +304,18 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "bad4", "name": "bad0",
"source_mapping": { "source_mapping": {
"start": 1296, "start": 540,
"length": 148, "length": 61,
"filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
44, 21,
45, 22,
46 23
], ],
"starting_column": 3, "starting_column": 3,
"ending_column": 4 "ending_column": 4
@ -327,9 +327,9 @@
"source_mapping": { "source_mapping": {
"start": 35, "start": 35,
"length": 2982, "length": 2982,
"filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
3, 3,
@ -434,40 +434,40 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad4()" "signature": "bad0()"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "event1_bad(bad_arr)", "name": "this.bad0_external(bad_arr)",
"source_mapping": { "source_mapping": {
"start": 1415, "start": 569,
"length": 24, "length": 27,
"filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
45 22
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 29 "ending_column": 32
}, },
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "bad4", "name": "bad0",
"source_mapping": { "source_mapping": {
"start": 1296, "start": 540,
"length": 148, "length": 61,
"filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
44, 21,
45, 22,
46 23
], ],
"starting_column": 3, "starting_column": 3,
"ending_column": 4 "ending_column": 4
@ -479,9 +479,9 @@
"source_mapping": { "source_mapping": {
"start": 35, "start": 35,
"length": 2982, "length": 2982,
"filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
3, 3,
@ -586,16 +586,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad4()" "signature": "bad0()"
} }
} }
} }
} }
], ],
"description": "Function A.bad4() (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#44-46) trigger an abi encoding bug:\n\t- event1_bad(bad_arr) (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#45)\n", "description": "Function A.bad0() (tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#21-23) trigger an abi encoding bug:\n\t- this.bad0_external(bad_arr) (tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#22)\n",
"markdown": "Function [A.bad4()](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L44-L46) trigger an abi encoding bug:\n\t- [event1_bad(bad_arr)](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L45)\n", "markdown": "Function [A.bad0()](tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L21-L23) trigger an abi encoding bug:\n\t- [this.bad0_external(bad_arr)](tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L22)\n",
"first_markdown_element": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L44-L46", "first_markdown_element": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L21-L23",
"id": "144c77aebb4037fe38c2864892ecb888a4fb7d5e92e321e664b2d2226658a166", "id": "2bbe072d30eb95e463ffdaaf3b5578622f10c36e6c65322a5c3a56ede8ace5f1",
"check": "abiencoderv2-array", "check": "abiencoderv2-array",
"impact": "High", "impact": "High",
"confidence": "High" "confidence": "High"
@ -604,18 +604,18 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "bad0", "name": "bad4",
"source_mapping": { "source_mapping": {
"start": 540, "start": 1296,
"length": 61, "length": 148,
"filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
21, 44,
22, 45,
23 46
], ],
"starting_column": 3, "starting_column": 3,
"ending_column": 4 "ending_column": 4
@ -627,9 +627,9 @@
"source_mapping": { "source_mapping": {
"start": 35, "start": 35,
"length": 2982, "length": 2982,
"filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
3, 3,
@ -734,40 +734,40 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad0()" "signature": "bad4()"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "this.bad0_external(bad_arr)", "name": "event1_bad(bad_arr)",
"source_mapping": { "source_mapping": {
"start": 569, "start": 1415,
"length": 27, "length": 24,
"filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
22 45
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 32 "ending_column": 29
}, },
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "bad0", "name": "bad4",
"source_mapping": { "source_mapping": {
"start": 540, "start": 1296,
"length": 61, "length": 148,
"filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
21, 44,
22, 45,
23 46
], ],
"starting_column": 3, "starting_column": 3,
"ending_column": 4 "ending_column": 4
@ -779,9 +779,9 @@
"source_mapping": { "source_mapping": {
"start": 35, "start": 35,
"length": 2982, "length": 2982,
"filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
3, 3,
@ -886,16 +886,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad0()" "signature": "bad4()"
} }
} }
} }
} }
], ],
"description": "Function A.bad0() (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#21-23) trigger an abi encoding bug:\n\t- this.bad0_external(bad_arr) (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#22)\n", "description": "Function A.bad4() (tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#44-46) trigger an abi encoding bug:\n\t- event1_bad(bad_arr) (tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#45)\n",
"markdown": "Function [A.bad0()](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L21-L23) trigger an abi encoding bug:\n\t- [this.bad0_external(bad_arr)](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L22)\n", "markdown": "Function [A.bad4()](tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L44-L46) trigger an abi encoding bug:\n\t- [event1_bad(bad_arr)](tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L45)\n",
"first_markdown_element": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L21-L23", "first_markdown_element": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L44-L46",
"id": "3752da45df0ba78cc9ac01a10b398e4ad74e6ddd572764cf2f361e523a43a998", "id": "35ffb290cd1c192cf8cb6d07a80648a5d31785a6c7864bf07ebfb455b9334d19",
"check": "abiencoderv2-array", "check": "abiencoderv2-array",
"impact": "High", "impact": "High",
"confidence": "High" "confidence": "High"
@ -904,18 +904,18 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "bad1", "name": "bad2",
"source_mapping": { "source_mapping": {
"start": 726, "start": 852,
"length": 63, "length": 160,
"filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
29, 34,
30, 35,
31 36
], ],
"starting_column": 3, "starting_column": 3,
"ending_column": 4 "ending_column": 4
@ -927,9 +927,9 @@
"source_mapping": { "source_mapping": {
"start": 35, "start": 35,
"length": 2982, "length": 2982,
"filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
3, 3,
@ -1034,40 +1034,40 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad1(A.S[3])" "signature": "bad2()"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "this.bad1_external(s)", "name": "b = abi.encode(bad_arr)",
"source_mapping": { "source_mapping": {
"start": 763, "start": 971,
"length": 21, "length": 36,
"filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
30 35
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 26 "ending_column": 41
}, },
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "bad1", "name": "bad2",
"source_mapping": { "source_mapping": {
"start": 726, "start": 852,
"length": 63, "length": 160,
"filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
29, 34,
30, 35,
31 36
], ],
"starting_column": 3, "starting_column": 3,
"ending_column": 4 "ending_column": 4
@ -1079,9 +1079,9 @@
"source_mapping": { "source_mapping": {
"start": 35, "start": 35,
"length": 2982, "length": 2982,
"filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
3, 3,
@ -1186,16 +1186,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad1(A.S[3])" "signature": "bad2()"
} }
} }
} }
} }
], ],
"description": "Function A.bad1(A.S[3]) (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#29-31) trigger an abi encoding bug:\n\t- this.bad1_external(s) (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#30)\n", "description": "Function A.bad2() (tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#34-36) trigger an abi encoding bug:\n\t- b = abi.encode(bad_arr) (tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#35)\n",
"markdown": "Function [A.bad1(A.S[3])](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L29-L31) trigger an abi encoding bug:\n\t- [this.bad1_external(s)](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L30)\n", "markdown": "Function [A.bad2()](tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L34-L36) trigger an abi encoding bug:\n\t- [b = abi.encode(bad_arr)](tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L35)\n",
"first_markdown_element": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L29-L31", "first_markdown_element": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L34-L36",
"id": "3febdd98f71332c80290c9557c5ef89ea9dbea4f520a084b0307f21b00da5010", "id": "57a54f648776db8c80377afd961a3a141378dd19f6b32e13c215cc7539492b1b",
"check": "abiencoderv2-array", "check": "abiencoderv2-array",
"impact": "High", "impact": "High",
"confidence": "High" "confidence": "High"
@ -1204,18 +1204,18 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "bad2", "name": "bad1",
"source_mapping": { "source_mapping": {
"start": 852, "start": 726,
"length": 160, "length": 63,
"filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
34, 29,
35, 30,
36 31
], ],
"starting_column": 3, "starting_column": 3,
"ending_column": 4 "ending_column": 4
@ -1227,9 +1227,9 @@
"source_mapping": { "source_mapping": {
"start": 35, "start": 35,
"length": 2982, "length": 2982,
"filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
3, 3,
@ -1334,40 +1334,40 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad2()" "signature": "bad1(A.S[3])"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "b = abi.encode(bad_arr)", "name": "this.bad1_external(s)",
"source_mapping": { "source_mapping": {
"start": 971, "start": 763,
"length": 36, "length": 21,
"filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
35 30
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 41 "ending_column": 26
}, },
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "bad2", "name": "bad1",
"source_mapping": { "source_mapping": {
"start": 852, "start": 726,
"length": 160, "length": 63,
"filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
34, 29,
35, 30,
36 31
], ],
"starting_column": 3, "starting_column": 3,
"ending_column": 4 "ending_column": 4
@ -1379,9 +1379,9 @@
"source_mapping": { "source_mapping": {
"start": 35, "start": 35,
"length": 2982, "length": 2982,
"filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
3, 3,
@ -1486,16 +1486,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad2()" "signature": "bad1(A.S[3])"
} }
} }
} }
} }
], ],
"description": "Function A.bad2() (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#34-36) trigger an abi encoding bug:\n\t- b = abi.encode(bad_arr) (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#35)\n", "description": "Function A.bad1(A.S[3]) (tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#29-31) trigger an abi encoding bug:\n\t- this.bad1_external(s) (tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#30)\n",
"markdown": "Function [A.bad2()](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L34-L36) trigger an abi encoding bug:\n\t- [b = abi.encode(bad_arr)](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L35)\n", "markdown": "Function [A.bad1(A.S[3])](tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L29-L31) trigger an abi encoding bug:\n\t- [this.bad1_external(s)](tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L30)\n",
"first_markdown_element": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L34-L36", "first_markdown_element": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L29-L31",
"id": "d5860309d331920d1e3f44508fea706df75a4a7c2e93666ca96ca00ef32d7e01", "id": "86c66f3b307767eebada0cab8bf3a0a839ca10996314da44d69b6c9ed507a38a",
"check": "abiencoderv2-array", "check": "abiencoderv2-array",
"impact": "High", "impact": "High",
"confidence": "High" "confidence": "High"
@ -1508,9 +1508,9 @@
"source_mapping": { "source_mapping": {
"start": 1511, "start": 1511,
"length": 142, "length": 142,
"filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
49, 49,
@ -1527,9 +1527,9 @@
"source_mapping": { "source_mapping": {
"start": 35, "start": 35,
"length": 2982, "length": 2982,
"filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
3, 3,
@ -1643,9 +1643,9 @@
"source_mapping": { "source_mapping": {
"start": 1630, "start": 1630,
"length": 18, "length": 18,
"filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
50 50
@ -1660,9 +1660,9 @@
"source_mapping": { "source_mapping": {
"start": 1511, "start": 1511,
"length": 142, "length": 142,
"filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
49, 49,
@ -1679,9 +1679,9 @@
"source_mapping": { "source_mapping": {
"start": 35, "start": 35,
"length": 2982, "length": 2982,
"filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
3, 3,
@ -1792,10 +1792,10 @@
} }
} }
], ],
"description": "Function A.bad5() (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#49-51) trigger an abi encoding bug:\n\t- event2_bad(s) (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#50)\n", "description": "Function A.bad5() (tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#49-51) trigger an abi encoding bug:\n\t- event2_bad(s) (tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#50)\n",
"markdown": "Function [A.bad5()](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L49-L51) trigger an abi encoding bug:\n\t- [event2_bad(s)](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L50)\n", "markdown": "Function [A.bad5()](tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L49-L51) trigger an abi encoding bug:\n\t- [event2_bad(s)](tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L50)\n",
"first_markdown_element": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L49-L51", "first_markdown_element": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L49-L51",
"id": "e77767c95f4548636027a859ca0c63402cfb50af242f116dd3cfc5b038a4128e", "id": "ae66161ced7aeecdd34531dd955380a0c0d8b8eb2a968a36de943b394d9ddaa7",
"check": "abiencoderv2-array", "check": "abiencoderv2-array",
"impact": "High", "impact": "High",
"confidence": "High" "confidence": "High"

@ -4,18 +4,18 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "bad1", "name": "bad5",
"source_mapping": { "source_mapping": {
"start": 744, "start": 1536,
"length": 70, "length": 142,
"filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
29, 49,
30, 50,
31 51
], ],
"starting_column": 3, "starting_column": 3,
"ending_column": 4 "ending_column": 4
@ -27,9 +27,9 @@
"source_mapping": { "source_mapping": {
"start": 35, "start": 35,
"length": 3044, "length": 3044,
"filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
3, 3,
@ -134,40 +134,40 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad1(A.S[3])" "signature": "bad5()"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "this.bad1_external(s)", "name": "event2_bad(s)",
"source_mapping": { "source_mapping": {
"start": 788, "start": 1655,
"length": 21, "length": 18,
"filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
30 50
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 26 "ending_column": 23
}, },
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "bad1", "name": "bad5",
"source_mapping": { "source_mapping": {
"start": 744, "start": 1536,
"length": 70, "length": 142,
"filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
29, 49,
30, 50,
31 51
], ],
"starting_column": 3, "starting_column": 3,
"ending_column": 4 "ending_column": 4
@ -179,9 +179,9 @@
"source_mapping": { "source_mapping": {
"start": 35, "start": 35,
"length": 3044, "length": 3044,
"filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
3, 3,
@ -286,16 +286,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad1(A.S[3])" "signature": "bad5()"
} }
} }
} }
} }
], ],
"description": "Function A.bad1(A.S[3]) (tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#29-31) trigger an abi encoding bug:\n\t- this.bad1_external(s) (tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#30)\n", "description": "Function A.bad5() (tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#49-51) trigger an abi encoding bug:\n\t- event2_bad(s) (tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#50)\n",
"markdown": "Function [A.bad1(A.S[3])](tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L29-L31) trigger an abi encoding bug:\n\t- [this.bad1_external(s)](tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L30)\n", "markdown": "Function [A.bad5()](tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L49-L51) trigger an abi encoding bug:\n\t- [event2_bad(s)](tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L50)\n",
"first_markdown_element": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L29-L31", "first_markdown_element": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L49-L51",
"id": "04f20a6b780d160f34e95fca8f1dc426e8d05eaf7a452340a809bdeafcb84efb", "id": "0bff4fdfffcfca62d7e949088e4f93613d96721addf90e93f6873969654792fb",
"check": "abiencoderv2-array", "check": "abiencoderv2-array",
"impact": "High", "impact": "High",
"confidence": "High" "confidence": "High"
@ -304,18 +304,18 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "bad3", "name": "bad0",
"source_mapping": { "source_mapping": {
"start": 1101, "start": 549,
"length": 154, "length": 61,
"filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
39, 21,
40, 22,
41 23
], ],
"starting_column": 3, "starting_column": 3,
"ending_column": 4 "ending_column": 4
@ -327,9 +327,9 @@
"source_mapping": { "source_mapping": {
"start": 35, "start": 35,
"length": 3044, "length": 3044,
"filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
3, 3,
@ -434,40 +434,40 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad3()" "signature": "bad0()"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "b = abi.encode(s)", "name": "this.bad0_external(bad_arr)",
"source_mapping": { "source_mapping": {
"start": 1220, "start": 578,
"length": 30, "length": 27,
"filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
40 22
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 35 "ending_column": 32
}, },
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "bad3", "name": "bad0",
"source_mapping": { "source_mapping": {
"start": 1101, "start": 549,
"length": 154, "length": 61,
"filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
39, 21,
40, 22,
41 23
], ],
"starting_column": 3, "starting_column": 3,
"ending_column": 4 "ending_column": 4
@ -479,9 +479,9 @@
"source_mapping": { "source_mapping": {
"start": 35, "start": 35,
"length": 3044, "length": 3044,
"filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
3, 3,
@ -586,16 +586,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad3()" "signature": "bad0()"
} }
} }
} }
} }
], ],
"description": "Function A.bad3() (tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#39-41) trigger an abi encoding bug:\n\t- b = abi.encode(s) (tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#40)\n", "description": "Function A.bad0() (tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#21-23) trigger an abi encoding bug:\n\t- this.bad0_external(bad_arr) (tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#22)\n",
"markdown": "Function [A.bad3()](tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L39-L41) trigger an abi encoding bug:\n\t- [b = abi.encode(s)](tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L40)\n", "markdown": "Function [A.bad0()](tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L21-L23) trigger an abi encoding bug:\n\t- [this.bad0_external(bad_arr)](tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L22)\n",
"first_markdown_element": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L39-L41", "first_markdown_element": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L21-L23",
"id": "37e980d8d34fcffe10d2533052de986dd57c1d45700f02234332b275b532c71d", "id": "2b87f0298c47e810103ba2f06c6b042c1b3faef47996231ec0d884afd82cb99c",
"check": "abiencoderv2-array", "check": "abiencoderv2-array",
"impact": "High", "impact": "High",
"confidence": "High" "confidence": "High"
@ -604,18 +604,18 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "bad0", "name": "bad4",
"source_mapping": { "source_mapping": {
"start": 549, "start": 1321,
"length": 61, "length": 148,
"filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
21, 44,
22, 45,
23 46
], ],
"starting_column": 3, "starting_column": 3,
"ending_column": 4 "ending_column": 4
@ -627,9 +627,9 @@
"source_mapping": { "source_mapping": {
"start": 35, "start": 35,
"length": 3044, "length": 3044,
"filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
3, 3,
@ -734,40 +734,40 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad0()" "signature": "bad4()"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "this.bad0_external(bad_arr)", "name": "event1_bad(bad_arr)",
"source_mapping": { "source_mapping": {
"start": 578, "start": 1440,
"length": 27, "length": 24,
"filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
22 45
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 32 "ending_column": 29
}, },
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "bad0", "name": "bad4",
"source_mapping": { "source_mapping": {
"start": 549, "start": 1321,
"length": 61, "length": 148,
"filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
21, 44,
22, 45,
23 46
], ],
"starting_column": 3, "starting_column": 3,
"ending_column": 4 "ending_column": 4
@ -779,9 +779,9 @@
"source_mapping": { "source_mapping": {
"start": 35, "start": 35,
"length": 3044, "length": 3044,
"filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
3, 3,
@ -886,16 +886,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad0()" "signature": "bad4()"
} }
} }
} }
} }
], ],
"description": "Function A.bad0() (tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#21-23) trigger an abi encoding bug:\n\t- this.bad0_external(bad_arr) (tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#22)\n", "description": "Function A.bad4() (tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#44-46) trigger an abi encoding bug:\n\t- event1_bad(bad_arr) (tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#45)\n",
"markdown": "Function [A.bad0()](tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L21-L23) trigger an abi encoding bug:\n\t- [this.bad0_external(bad_arr)](tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L22)\n", "markdown": "Function [A.bad4()](tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L44-L46) trigger an abi encoding bug:\n\t- [event1_bad(bad_arr)](tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L45)\n",
"first_markdown_element": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L21-L23", "first_markdown_element": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L44-L46",
"id": "4755c0ac779753117c13ea710352c179c82da332c5be5f08ea5da28efa4c63b6", "id": "3f05ebbaa8f7def9cf1d5619665846ab87d44ebc682887934c3906413cc05455",
"check": "abiencoderv2-array", "check": "abiencoderv2-array",
"impact": "High", "impact": "High",
"confidence": "High" "confidence": "High"
@ -904,18 +904,18 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "bad4", "name": "bad2",
"source_mapping": { "source_mapping": {
"start": 1321, "start": 877,
"length": 148, "length": 160,
"filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
44, 34,
45, 35,
46 36
], ],
"starting_column": 3, "starting_column": 3,
"ending_column": 4 "ending_column": 4
@ -927,9 +927,9 @@
"source_mapping": { "source_mapping": {
"start": 35, "start": 35,
"length": 3044, "length": 3044,
"filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
3, 3,
@ -1034,40 +1034,40 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad4()" "signature": "bad2()"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "event1_bad(bad_arr)", "name": "b = abi.encode(bad_arr)",
"source_mapping": { "source_mapping": {
"start": 1440, "start": 996,
"length": 24, "length": 36,
"filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
45 35
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 29 "ending_column": 41
}, },
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "bad4", "name": "bad2",
"source_mapping": { "source_mapping": {
"start": 1321, "start": 877,
"length": 148, "length": 160,
"filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
44, 34,
45, 35,
46 36
], ],
"starting_column": 3, "starting_column": 3,
"ending_column": 4 "ending_column": 4
@ -1079,9 +1079,9 @@
"source_mapping": { "source_mapping": {
"start": 35, "start": 35,
"length": 3044, "length": 3044,
"filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
3, 3,
@ -1186,16 +1186,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad4()" "signature": "bad2()"
} }
} }
} }
} }
], ],
"description": "Function A.bad4() (tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#44-46) trigger an abi encoding bug:\n\t- event1_bad(bad_arr) (tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#45)\n", "description": "Function A.bad2() (tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#34-36) trigger an abi encoding bug:\n\t- b = abi.encode(bad_arr) (tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#35)\n",
"markdown": "Function [A.bad4()](tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L44-L46) trigger an abi encoding bug:\n\t- [event1_bad(bad_arr)](tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L45)\n", "markdown": "Function [A.bad2()](tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L34-L36) trigger an abi encoding bug:\n\t- [b = abi.encode(bad_arr)](tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L35)\n",
"first_markdown_element": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L44-L46", "first_markdown_element": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L34-L36",
"id": "6e9dfeb7f6ea7c989276fa8c5e27d71ab0f6b63ee878fb3f761dab9d07942246", "id": "4a39131a0c51a364367a9c41ded3d7fa8fd529985bc27ce975fd1fdacabc6f5f",
"check": "abiencoderv2-array", "check": "abiencoderv2-array",
"impact": "High", "impact": "High",
"confidence": "High" "confidence": "High"
@ -1204,18 +1204,18 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "bad5", "name": "bad1",
"source_mapping": { "source_mapping": {
"start": 1536, "start": 744,
"length": 142, "length": 70,
"filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
49, 29,
50, 30,
51 31
], ],
"starting_column": 3, "starting_column": 3,
"ending_column": 4 "ending_column": 4
@ -1227,9 +1227,9 @@
"source_mapping": { "source_mapping": {
"start": 35, "start": 35,
"length": 3044, "length": 3044,
"filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
3, 3,
@ -1334,40 +1334,40 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad5()" "signature": "bad1(A.S[3])"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "event2_bad(s)", "name": "this.bad1_external(s)",
"source_mapping": { "source_mapping": {
"start": 1655, "start": 788,
"length": 18, "length": 21,
"filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
50 30
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 23 "ending_column": 26
}, },
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "bad5", "name": "bad1",
"source_mapping": { "source_mapping": {
"start": 1536, "start": 744,
"length": 142, "length": 70,
"filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
49, 29,
50, 30,
51 31
], ],
"starting_column": 3, "starting_column": 3,
"ending_column": 4 "ending_column": 4
@ -1379,9 +1379,9 @@
"source_mapping": { "source_mapping": {
"start": 35, "start": 35,
"length": 3044, "length": 3044,
"filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
3, 3,
@ -1486,16 +1486,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad5()" "signature": "bad1(A.S[3])"
} }
} }
} }
} }
], ],
"description": "Function A.bad5() (tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#49-51) trigger an abi encoding bug:\n\t- event2_bad(s) (tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#50)\n", "description": "Function A.bad1(A.S[3]) (tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#29-31) trigger an abi encoding bug:\n\t- this.bad1_external(s) (tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#30)\n",
"markdown": "Function [A.bad5()](tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L49-L51) trigger an abi encoding bug:\n\t- [event2_bad(s)](tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L50)\n", "markdown": "Function [A.bad1(A.S[3])](tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L29-L31) trigger an abi encoding bug:\n\t- [this.bad1_external(s)](tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L30)\n",
"first_markdown_element": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L49-L51", "first_markdown_element": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L29-L31",
"id": "9c6da636be98419174c8e81e73efc09e7b942f9cf477cf0de793fb92c88fc976", "id": "d7bba349f36a4dd00be0005454b0e7bfa536958075ca7575ef3d95b2d2666f40",
"check": "abiencoderv2-array", "check": "abiencoderv2-array",
"impact": "High", "impact": "High",
"confidence": "High" "confidence": "High"
@ -1504,18 +1504,18 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "bad2", "name": "bad3",
"source_mapping": { "source_mapping": {
"start": 877, "start": 1101,
"length": 160, "length": 154,
"filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
34, 39,
35, 40,
36 41
], ],
"starting_column": 3, "starting_column": 3,
"ending_column": 4 "ending_column": 4
@ -1527,9 +1527,9 @@
"source_mapping": { "source_mapping": {
"start": 35, "start": 35,
"length": 3044, "length": 3044,
"filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
3, 3,
@ -1634,40 +1634,40 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad2()" "signature": "bad3()"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "b = abi.encode(bad_arr)", "name": "b = abi.encode(s)",
"source_mapping": { "source_mapping": {
"start": 996, "start": 1220,
"length": 36, "length": 30,
"filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
35 40
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 41 "ending_column": 35
}, },
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "bad2", "name": "bad3",
"source_mapping": { "source_mapping": {
"start": 877, "start": 1101,
"length": 160, "length": 154,
"filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
34, 39,
35, 40,
36 41
], ],
"starting_column": 3, "starting_column": 3,
"ending_column": 4 "ending_column": 4
@ -1679,9 +1679,9 @@
"source_mapping": { "source_mapping": {
"start": 35, "start": 35,
"length": 3044, "length": 3044,
"filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
3, 3,
@ -1786,16 +1786,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad2()" "signature": "bad3()"
} }
} }
} }
} }
], ],
"description": "Function A.bad2() (tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#34-36) trigger an abi encoding bug:\n\t- b = abi.encode(bad_arr) (tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#35)\n", "description": "Function A.bad3() (tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#39-41) trigger an abi encoding bug:\n\t- b = abi.encode(s) (tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#40)\n",
"markdown": "Function [A.bad2()](tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L34-L36) trigger an abi encoding bug:\n\t- [b = abi.encode(bad_arr)](tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L35)\n", "markdown": "Function [A.bad3()](tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L39-L41) trigger an abi encoding bug:\n\t- [b = abi.encode(s)](tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L40)\n",
"first_markdown_element": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L34-L36", "first_markdown_element": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L39-L41",
"id": "e976cd11118a9f5aaacfe5715cef990140fd67c7a35682446aedc878b63b3b24", "id": "e6edc83d2902d4acb3d71593f26211658f88d3266d483632eab9380566ccee9d",
"check": "abiencoderv2-array", "check": "abiencoderv2-array",
"impact": "High", "impact": "High",
"confidence": "High" "confidence": "High"

@ -4,19 +4,19 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "bad4", "name": "int_transferFrom",
"source_mapping": { "source_mapping": {
"start": 1794, "start": 1294,
"length": 249, "length": 246,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
52, 42,
53, 43,
54, 44,
55 45
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -28,9 +28,9 @@
"source_mapping": { "source_mapping": {
"start": 613, "start": 613,
"length": 1433, "length": 1433,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 19,
@ -77,41 +77,41 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)" "signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "SafeERC20.safeTransferFrom(erc20,from,to,value)", "name": "erc20.transferFrom(from,to,value)",
"source_mapping": { "source_mapping": {
"start": 1986, "start": 1498,
"length": 50, "length": 35,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
54 44
], ],
"starting_column": 9, "starting_column": 9,
"ending_column": 59 "ending_column": 44
}, },
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "bad4", "name": "int_transferFrom",
"source_mapping": { "source_mapping": {
"start": 1794, "start": 1294,
"length": 249, "length": 246,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
52, 42,
53, 43,
54, 44,
55 45
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -123,9 +123,9 @@
"source_mapping": { "source_mapping": {
"start": 613, "start": 613,
"length": 1433, "length": 1433,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 19,
@ -172,16 +172,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)" "signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)"
} }
} }
} }
} }
], ],
"description": "C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#52-55) uses arbitrary from in transferFrom in combination with permit: SafeERC20.safeTransferFrom(erc20,from,to,value) (tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#54)\n", "description": "C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#42-45) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#44)\n",
"markdown": "[C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L52-L55) uses arbitrary from in transferFrom in combination with permit: [SafeERC20.safeTransferFrom(erc20,from,to,value)](tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L54)\n", "markdown": "[C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L42-L45) uses arbitrary from in transferFrom in combination with permit: [erc20.transferFrom(from,to,value)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L44)\n",
"first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L52-L55", "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L42-L45",
"id": "22de0efa869fce1767af15469c8bcc95616478aec05625ab72283df0ad9fae55", "id": "1ba817d0291e4f5d7fafb55c6278c82bcc093ececc435866bb7c9fec4df70948",
"check": "arbitrary-send-erc20-permit", "check": "arbitrary-send-erc20-permit",
"impact": "High", "impact": "High",
"confidence": "Medium" "confidence": "Medium"
@ -190,19 +190,19 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "int_transferFrom", "name": "bad3",
"source_mapping": { "source_mapping": {
"start": 1294, "start": 1546,
"length": 246, "length": 238,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
42, 47,
43, 48,
44, 49,
45 50
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -214,9 +214,9 @@
"source_mapping": { "source_mapping": {
"start": 613, "start": 613,
"length": 1433, "length": 1433,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 19,
@ -263,41 +263,41 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)" "signature": "bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "erc20.transferFrom(from,to,value)", "name": "erc20.safeTransferFrom(from,to,value)",
"source_mapping": { "source_mapping": {
"start": 1498, "start": 1738,
"length": 35, "length": 39,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
44 49
], ],
"starting_column": 9, "starting_column": 9,
"ending_column": 44 "ending_column": 48
}, },
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "int_transferFrom", "name": "bad3",
"source_mapping": { "source_mapping": {
"start": 1294, "start": 1546,
"length": 246, "length": 238,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
42, 47,
43, 48,
44, 49,
45 50
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -309,9 +309,9 @@
"source_mapping": { "source_mapping": {
"start": 613, "start": 613,
"length": 1433, "length": 1433,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 19,
@ -358,16 +358,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)" "signature": "bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)"
} }
} }
} }
} }
], ],
"description": "C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#42-45) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#44)\n", "description": "C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#47-50) uses arbitrary from in transferFrom in combination with permit: erc20.safeTransferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#49)\n",
"markdown": "[C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L42-L45) uses arbitrary from in transferFrom in combination with permit: [erc20.transferFrom(from,to,value)](tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L44)\n", "markdown": "[C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L47-L50) uses arbitrary from in transferFrom in combination with permit: [erc20.safeTransferFrom(from,to,value)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L49)\n",
"first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L42-L45", "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L47-L50",
"id": "408ea319adfb46be330fd7775c13abf56f9d106eebcbcfe6574760309d93927e", "id": "54c86f8d5446e55e63466d1752a36ca614c0912786158f0d4d190c3fefb8b56f",
"check": "arbitrary-send-erc20-permit", "check": "arbitrary-send-erc20-permit",
"impact": "High", "impact": "High",
"confidence": "Medium" "confidence": "Medium"
@ -376,19 +376,19 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "bad1", "name": "bad4",
"source_mapping": { "source_mapping": {
"start": 843, "start": 1794,
"length": 232, "length": 249,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
32, 52,
33, 53,
34, 54,
35 55
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -400,9 +400,9 @@
"source_mapping": { "source_mapping": {
"start": 613, "start": 613,
"length": 1433, "length": 1433,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 19,
@ -449,41 +449,41 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)" "signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "erc20.transferFrom(from,to,value)", "name": "SafeERC20.safeTransferFrom(erc20,from,to,value)",
"source_mapping": { "source_mapping": {
"start": 1033, "start": 1986,
"length": 35, "length": 50,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
34 54
], ],
"starting_column": 9, "starting_column": 9,
"ending_column": 44 "ending_column": 59
}, },
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "bad1", "name": "bad4",
"source_mapping": { "source_mapping": {
"start": 843, "start": 1794,
"length": 232, "length": 249,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
32, 52,
33, 53,
34, 54,
35 55
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -495,9 +495,9 @@
"source_mapping": { "source_mapping": {
"start": 613, "start": 613,
"length": 1433, "length": 1433,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 19,
@ -544,16 +544,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)" "signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)"
} }
} }
} }
} }
], ],
"description": "C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#32-35) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#34)\n", "description": "C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#52-55) uses arbitrary from in transferFrom in combination with permit: SafeERC20.safeTransferFrom(erc20,from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#54)\n",
"markdown": "[C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L32-L35) uses arbitrary from in transferFrom in combination with permit: [erc20.transferFrom(from,to,value)](tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L34)\n", "markdown": "[C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L52-L55) uses arbitrary from in transferFrom in combination with permit: [SafeERC20.safeTransferFrom(erc20,from,to,value)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L54)\n",
"first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L32-L35", "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L52-L55",
"id": "82a43f5bf554d897b270abaac0ee62650383fe341adeff0d9c1c95b0040548a2", "id": "5d4e5fdce01109b3256e917c8586a8559ad4dde6b6b007c3cb85d99242ce18a6",
"check": "arbitrary-send-erc20-permit", "check": "arbitrary-send-erc20-permit",
"impact": "High", "impact": "High",
"confidence": "Medium" "confidence": "Medium"
@ -562,19 +562,19 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "bad3", "name": "bad1",
"source_mapping": { "source_mapping": {
"start": 1546, "start": 843,
"length": 238, "length": 232,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
47, 32,
48, 33,
49, 34,
50 35
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -586,9 +586,9 @@
"source_mapping": { "source_mapping": {
"start": 613, "start": 613,
"length": 1433, "length": 1433,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 19,
@ -635,41 +635,41 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)" "signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "erc20.safeTransferFrom(from,to,value)", "name": "erc20.transferFrom(from,to,value)",
"source_mapping": { "source_mapping": {
"start": 1738, "start": 1033,
"length": 39, "length": 35,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
49 34
], ],
"starting_column": 9, "starting_column": 9,
"ending_column": 48 "ending_column": 44
}, },
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "bad3", "name": "bad1",
"source_mapping": { "source_mapping": {
"start": 1546, "start": 843,
"length": 238, "length": 232,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
47, 32,
48, 33,
49, 34,
50 35
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -681,9 +681,9 @@
"source_mapping": { "source_mapping": {
"start": 613, "start": 613,
"length": 1433, "length": 1433,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 19,
@ -730,16 +730,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)" "signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)"
} }
} }
} }
} }
], ],
"description": "C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#47-50) uses arbitrary from in transferFrom in combination with permit: erc20.safeTransferFrom(from,to,value) (tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#49)\n", "description": "C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#32-35) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#34)\n",
"markdown": "[C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L47-L50) uses arbitrary from in transferFrom in combination with permit: [erc20.safeTransferFrom(from,to,value)](tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L49)\n", "markdown": "[C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L32-L35) uses arbitrary from in transferFrom in combination with permit: [erc20.transferFrom(from,to,value)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L34)\n",
"first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L47-L50", "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L32-L35",
"id": "f7695706feb3a8409e367a88028dfad8c64e1000f1f71d6e55074d0dcfbc2305", "id": "fbbbc2ddd5f43443a8377441ac0ff5b1175fb3bed023f63576e053a59d4ba863",
"check": "arbitrary-send-erc20-permit", "check": "arbitrary-send-erc20-permit",
"impact": "High", "impact": "High",
"confidence": "Medium" "confidence": "Medium"

@ -4,19 +4,19 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "bad4", "name": "int_transferFrom",
"source_mapping": { "source_mapping": {
"start": 1794, "start": 1294,
"length": 249, "length": 246,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
52, 42,
53, 43,
54, 44,
55 45
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -28,9 +28,9 @@
"source_mapping": { "source_mapping": {
"start": 613, "start": 613,
"length": 1433, "length": 1433,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 19,
@ -77,41 +77,41 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)" "signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "SafeERC20.safeTransferFrom(erc20,from,to,value)", "name": "erc20.transferFrom(from,to,value)",
"source_mapping": { "source_mapping": {
"start": 1986, "start": 1498,
"length": 50, "length": 35,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
54 44
], ],
"starting_column": 9, "starting_column": 9,
"ending_column": 59 "ending_column": 44
}, },
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "bad4", "name": "int_transferFrom",
"source_mapping": { "source_mapping": {
"start": 1794, "start": 1294,
"length": 249, "length": 246,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
52, 42,
53, 43,
54, 44,
55 45
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -123,9 +123,9 @@
"source_mapping": { "source_mapping": {
"start": 613, "start": 613,
"length": 1433, "length": 1433,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 19,
@ -172,16 +172,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)" "signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)"
} }
} }
} }
} }
], ],
"description": "C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#52-55) uses arbitrary from in transferFrom in combination with permit: SafeERC20.safeTransferFrom(erc20,from,to,value) (tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#54)\n", "description": "C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#42-45) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#44)\n",
"markdown": "[C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L52-L55) uses arbitrary from in transferFrom in combination with permit: [SafeERC20.safeTransferFrom(erc20,from,to,value)](tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L54)\n", "markdown": "[C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L42-L45) uses arbitrary from in transferFrom in combination with permit: [erc20.transferFrom(from,to,value)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L44)\n",
"first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L52-L55", "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L42-L45",
"id": "57068db07fd7e67d0b63035936fad5a373fcb8f84bb6a58aa463278143db43fa", "id": "34abef96609043142b210115d49159561a631b0df81ee31f8d310267293a70d7",
"check": "arbitrary-send-erc20-permit", "check": "arbitrary-send-erc20-permit",
"impact": "High", "impact": "High",
"confidence": "Medium" "confidence": "Medium"
@ -190,19 +190,19 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "bad1", "name": "bad4",
"source_mapping": { "source_mapping": {
"start": 843, "start": 1794,
"length": 232, "length": 249,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
32, 52,
33, 53,
34, 54,
35 55
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -214,9 +214,9 @@
"source_mapping": { "source_mapping": {
"start": 613, "start": 613,
"length": 1433, "length": 1433,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 19,
@ -263,41 +263,41 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)" "signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "erc20.transferFrom(from,to,value)", "name": "SafeERC20.safeTransferFrom(erc20,from,to,value)",
"source_mapping": { "source_mapping": {
"start": 1033, "start": 1986,
"length": 35, "length": 50,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
34 54
], ],
"starting_column": 9, "starting_column": 9,
"ending_column": 44 "ending_column": 59
}, },
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "bad1", "name": "bad4",
"source_mapping": { "source_mapping": {
"start": 843, "start": 1794,
"length": 232, "length": 249,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
32, 52,
33, 53,
34, 54,
35 55
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -309,9 +309,9 @@
"source_mapping": { "source_mapping": {
"start": 613, "start": 613,
"length": 1433, "length": 1433,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 19,
@ -358,16 +358,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)" "signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)"
} }
} }
} }
} }
], ],
"description": "C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#32-35) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#34)\n", "description": "C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#52-55) uses arbitrary from in transferFrom in combination with permit: SafeERC20.safeTransferFrom(erc20,from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#54)\n",
"markdown": "[C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L32-L35) uses arbitrary from in transferFrom in combination with permit: [erc20.transferFrom(from,to,value)](tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L34)\n", "markdown": "[C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L52-L55) uses arbitrary from in transferFrom in combination with permit: [SafeERC20.safeTransferFrom(erc20,from,to,value)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L54)\n",
"first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L32-L35", "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L52-L55",
"id": "5983458eee02cf7d5484a82e17422dcdbd7b990305579e17d1252c0bb31e1cac", "id": "5352ac253454c7ac5139d18b3068024bfd1adb2a3ba50e91846e685b87bebcab",
"check": "arbitrary-send-erc20-permit", "check": "arbitrary-send-erc20-permit",
"impact": "High", "impact": "High",
"confidence": "Medium" "confidence": "Medium"
@ -380,9 +380,9 @@
"source_mapping": { "source_mapping": {
"start": 1546, "start": 1546,
"length": 238, "length": 238,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
47, 47,
@ -400,9 +400,9 @@
"source_mapping": { "source_mapping": {
"start": 613, "start": 613,
"length": 1433, "length": 1433,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 19,
@ -458,9 +458,9 @@
"source_mapping": { "source_mapping": {
"start": 1738, "start": 1738,
"length": 39, "length": 39,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
49 49
@ -475,9 +475,9 @@
"source_mapping": { "source_mapping": {
"start": 1546, "start": 1546,
"length": 238, "length": 238,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
47, 47,
@ -495,9 +495,9 @@
"source_mapping": { "source_mapping": {
"start": 613, "start": 613,
"length": 1433, "length": 1433,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 19,
@ -550,10 +550,10 @@
} }
} }
], ],
"description": "C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#47-50) uses arbitrary from in transferFrom in combination with permit: erc20.safeTransferFrom(from,to,value) (tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#49)\n", "description": "C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#47-50) uses arbitrary from in transferFrom in combination with permit: erc20.safeTransferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#49)\n",
"markdown": "[C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L47-L50) uses arbitrary from in transferFrom in combination with permit: [erc20.safeTransferFrom(from,to,value)](tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L49)\n", "markdown": "[C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L47-L50) uses arbitrary from in transferFrom in combination with permit: [erc20.safeTransferFrom(from,to,value)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L49)\n",
"first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L47-L50", "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L47-L50",
"id": "a8f319ba65d6c81726b72d7593eb089ce9819d22856387250e009a43a98cf1c3", "id": "97f68819cc099478a29e275378f30c57fc2bf8154cb8cb86c9b58788909e2486",
"check": "arbitrary-send-erc20-permit", "check": "arbitrary-send-erc20-permit",
"impact": "High", "impact": "High",
"confidence": "Medium" "confidence": "Medium"
@ -562,19 +562,19 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "int_transferFrom", "name": "bad1",
"source_mapping": { "source_mapping": {
"start": 1294, "start": 843,
"length": 246, "length": 232,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
42, 32,
43, 33,
44, 34,
45 35
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -586,9 +586,9 @@
"source_mapping": { "source_mapping": {
"start": 613, "start": 613,
"length": 1433, "length": 1433,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 19,
@ -635,21 +635,21 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)" "signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "erc20.transferFrom(from,to,value)", "name": "erc20.transferFrom(from,to,value)",
"source_mapping": { "source_mapping": {
"start": 1498, "start": 1033,
"length": 35, "length": 35,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
44 34
], ],
"starting_column": 9, "starting_column": 9,
"ending_column": 44 "ending_column": 44
@ -657,19 +657,19 @@
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "int_transferFrom", "name": "bad1",
"source_mapping": { "source_mapping": {
"start": 1294, "start": 843,
"length": 246, "length": 232,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
42, 32,
43, 33,
44, 34,
45 35
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -681,9 +681,9 @@
"source_mapping": { "source_mapping": {
"start": 613, "start": 613,
"length": 1433, "length": 1433,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 19,
@ -730,16 +730,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)" "signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)"
} }
} }
} }
} }
], ],
"description": "C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#42-45) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#44)\n", "description": "C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#32-35) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#34)\n",
"markdown": "[C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L42-L45) uses arbitrary from in transferFrom in combination with permit: [erc20.transferFrom(from,to,value)](tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L44)\n", "markdown": "[C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L32-L35) uses arbitrary from in transferFrom in combination with permit: [erc20.transferFrom(from,to,value)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L34)\n",
"first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L42-L45", "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L32-L35",
"id": "e3ed372c52b219322ca290ecfa79be96d7ea1b019af329a515c6c10b7a1cf03b", "id": "eb616b56a991c8b3a6cb8f800394d615932a404f56814163c989dbf4f9307f9a",
"check": "arbitrary-send-erc20-permit", "check": "arbitrary-send-erc20-permit",
"impact": "High", "impact": "High",
"confidence": "Medium" "confidence": "Medium"

@ -8,9 +8,9 @@
"source_mapping": { "source_mapping": {
"start": 1564, "start": 1564,
"length": 238, "length": 238,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
47, 47,
@ -28,9 +28,9 @@
"source_mapping": { "source_mapping": {
"start": 631, "start": 631,
"length": 1433, "length": 1433,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 19,
@ -86,9 +86,9 @@
"source_mapping": { "source_mapping": {
"start": 1756, "start": 1756,
"length": 39, "length": 39,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
49 49
@ -103,9 +103,9 @@
"source_mapping": { "source_mapping": {
"start": 1564, "start": 1564,
"length": 238, "length": 238,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
47, 47,
@ -123,9 +123,9 @@
"source_mapping": { "source_mapping": {
"start": 631, "start": 631,
"length": 1433, "length": 1433,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 19,
@ -178,10 +178,10 @@
} }
} }
], ],
"description": "C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#47-50) uses arbitrary from in transferFrom in combination with permit: erc20.safeTransferFrom(from,to,value) (tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#49)\n", "description": "C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#47-50) uses arbitrary from in transferFrom in combination with permit: erc20.safeTransferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#49)\n",
"markdown": "[C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L47-L50) uses arbitrary from in transferFrom in combination with permit: [erc20.safeTransferFrom(from,to,value)](tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L49)\n", "markdown": "[C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L47-L50) uses arbitrary from in transferFrom in combination with permit: [erc20.safeTransferFrom(from,to,value)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L49)\n",
"first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L47-L50", "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L47-L50",
"id": "1caf8efb7dd42f74884b4ee8d8b44585eeaa5758776ef8ac1e31b8aa749eac26", "id": "3b940dbd72bf4a925e83d4f699604f18cef6703b0febc33fd0c0d0e3ac5ca328",
"check": "arbitrary-send-erc20-permit", "check": "arbitrary-send-erc20-permit",
"impact": "High", "impact": "High",
"confidence": "Medium" "confidence": "Medium"
@ -194,9 +194,9 @@
"source_mapping": { "source_mapping": {
"start": 1812, "start": 1812,
"length": 249, "length": 249,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
52, 52,
@ -214,9 +214,9 @@
"source_mapping": { "source_mapping": {
"start": 631, "start": 631,
"length": 1433, "length": 1433,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 19,
@ -272,9 +272,9 @@
"source_mapping": { "source_mapping": {
"start": 2004, "start": 2004,
"length": 50, "length": 50,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
54 54
@ -289,9 +289,9 @@
"source_mapping": { "source_mapping": {
"start": 1812, "start": 1812,
"length": 249, "length": 249,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
52, 52,
@ -309,9 +309,9 @@
"source_mapping": { "source_mapping": {
"start": 631, "start": 631,
"length": 1433, "length": 1433,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 19,
@ -364,10 +364,10 @@
} }
} }
], ],
"description": "C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#52-55) uses arbitrary from in transferFrom in combination with permit: SafeERC20.safeTransferFrom(erc20,from,to,value) (tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#54)\n", "description": "C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#52-55) uses arbitrary from in transferFrom in combination with permit: SafeERC20.safeTransferFrom(erc20,from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#54)\n",
"markdown": "[C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L52-L55) uses arbitrary from in transferFrom in combination with permit: [SafeERC20.safeTransferFrom(erc20,from,to,value)](tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L54)\n", "markdown": "[C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L52-L55) uses arbitrary from in transferFrom in combination with permit: [SafeERC20.safeTransferFrom(erc20,from,to,value)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L54)\n",
"first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L52-L55", "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L52-L55",
"id": "cc58852f92580ac18db192412ec7e50667bf56d986349ae8fe6990f0b04f9f62", "id": "7a0eb93cb62ee8dc1b21e0ac12f91f44457b306216d02b04c020adadd622a0ac",
"check": "arbitrary-send-erc20-permit", "check": "arbitrary-send-erc20-permit",
"impact": "High", "impact": "High",
"confidence": "Medium" "confidence": "Medium"
@ -380,9 +380,9 @@
"source_mapping": { "source_mapping": {
"start": 1312, "start": 1312,
"length": 246, "length": 246,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
42, 42,
@ -400,9 +400,9 @@
"source_mapping": { "source_mapping": {
"start": 631, "start": 631,
"length": 1433, "length": 1433,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 19,
@ -458,9 +458,9 @@
"source_mapping": { "source_mapping": {
"start": 1516, "start": 1516,
"length": 35, "length": 35,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
44 44
@ -475,9 +475,9 @@
"source_mapping": { "source_mapping": {
"start": 1312, "start": 1312,
"length": 246, "length": 246,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
42, 42,
@ -495,9 +495,9 @@
"source_mapping": { "source_mapping": {
"start": 631, "start": 631,
"length": 1433, "length": 1433,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 19,
@ -550,10 +550,10 @@
} }
} }
], ],
"description": "C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#42-45) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#44)\n", "description": "C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#42-45) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#44)\n",
"markdown": "[C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L42-L45) uses arbitrary from in transferFrom in combination with permit: [erc20.transferFrom(from,to,value)](tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L44)\n", "markdown": "[C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L42-L45) uses arbitrary from in transferFrom in combination with permit: [erc20.transferFrom(from,to,value)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L44)\n",
"first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L42-L45", "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L42-L45",
"id": "f75bec4e068adbca017ad00b355347aa0c337b30a807fa8e1b80577b031e68fd", "id": "7ee86024ca60eb5d5ad3be15c21fc9d7c301fa2a3a2700520459180a919c511f",
"check": "arbitrary-send-erc20-permit", "check": "arbitrary-send-erc20-permit",
"impact": "High", "impact": "High",
"confidence": "Medium" "confidence": "Medium"
@ -566,9 +566,9 @@
"source_mapping": { "source_mapping": {
"start": 861, "start": 861,
"length": 232, "length": 232,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
32, 32,
@ -586,9 +586,9 @@
"source_mapping": { "source_mapping": {
"start": 631, "start": 631,
"length": 1433, "length": 1433,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 19,
@ -644,9 +644,9 @@
"source_mapping": { "source_mapping": {
"start": 1051, "start": 1051,
"length": 35, "length": 35,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
34 34
@ -661,9 +661,9 @@
"source_mapping": { "source_mapping": {
"start": 861, "start": 861,
"length": 232, "length": 232,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
32, 32,
@ -681,9 +681,9 @@
"source_mapping": { "source_mapping": {
"start": 631, "start": 631,
"length": 1433, "length": 1433,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 19,
@ -736,10 +736,10 @@
} }
} }
], ],
"description": "C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#32-35) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#34)\n", "description": "C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#32-35) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#34)\n",
"markdown": "[C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L32-L35) uses arbitrary from in transferFrom in combination with permit: [erc20.transferFrom(from,to,value)](tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L34)\n", "markdown": "[C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L32-L35) uses arbitrary from in transferFrom in combination with permit: [erc20.transferFrom(from,to,value)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L34)\n",
"first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L32-L35", "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L32-L35",
"id": "f90e97c676187cd6d727064001123d8537f5d8253d0a66ab6798b4a1c250a425", "id": "fd1b8e822c71a24134a578815d9c495b60348cdf5eb2037d875bec85113d1278",
"check": "arbitrary-send-erc20-permit", "check": "arbitrary-send-erc20-permit",
"impact": "High", "impact": "High",
"confidence": "Medium" "confidence": "Medium"

@ -4,19 +4,19 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "bad3", "name": "int_transferFrom",
"source_mapping": { "source_mapping": {
"start": 1563, "start": 1311,
"length": 238, "length": 246,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
47, 42,
48, 43,
49, 44,
50 45
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -28,9 +28,9 @@
"source_mapping": { "source_mapping": {
"start": 630, "start": 630,
"length": 1433, "length": 1433,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 19,
@ -77,41 +77,41 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)" "signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "erc20.safeTransferFrom(from,to,value)", "name": "erc20.transferFrom(from,to,value)",
"source_mapping": { "source_mapping": {
"start": 1755, "start": 1515,
"length": 39, "length": 35,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
49 44
], ],
"starting_column": 9, "starting_column": 9,
"ending_column": 48 "ending_column": 44
}, },
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "bad3", "name": "int_transferFrom",
"source_mapping": { "source_mapping": {
"start": 1563, "start": 1311,
"length": 238, "length": 246,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
47, 42,
48, 43,
49, 44,
50 45
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -123,9 +123,9 @@
"source_mapping": { "source_mapping": {
"start": 630, "start": 630,
"length": 1433, "length": 1433,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 19,
@ -172,16 +172,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)" "signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)"
} }
} }
} }
} }
], ],
"description": "C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#47-50) uses arbitrary from in transferFrom in combination with permit: erc20.safeTransferFrom(from,to,value) (tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#49)\n", "description": "C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#42-45) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#44)\n",
"markdown": "[C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L47-L50) uses arbitrary from in transferFrom in combination with permit: [erc20.safeTransferFrom(from,to,value)](tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L49)\n", "markdown": "[C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L42-L45) uses arbitrary from in transferFrom in combination with permit: [erc20.transferFrom(from,to,value)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L44)\n",
"first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L47-L50", "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L42-L45",
"id": "63dc39bd9025d9fa7d39e07342e5652c010ff424e6d31ed9d1559f225c417956", "id": "05d766e5d9c761b562f761e6ee1e97c7b826967943e2d3b2a286a87bd7f34b3e",
"check": "arbitrary-send-erc20-permit", "check": "arbitrary-send-erc20-permit",
"impact": "High", "impact": "High",
"confidence": "Medium" "confidence": "Medium"
@ -190,19 +190,19 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "bad4", "name": "bad1",
"source_mapping": { "source_mapping": {
"start": 1811, "start": 860,
"length": 249, "length": 232,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
52, 32,
53, 33,
54, 34,
55 35
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -214,9 +214,9 @@
"source_mapping": { "source_mapping": {
"start": 630, "start": 630,
"length": 1433, "length": 1433,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 19,
@ -263,41 +263,41 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)" "signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "SafeERC20.safeTransferFrom(erc20,from,to,value)", "name": "erc20.transferFrom(from,to,value)",
"source_mapping": { "source_mapping": {
"start": 2003, "start": 1050,
"length": 50, "length": 35,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
54 34
], ],
"starting_column": 9, "starting_column": 9,
"ending_column": 59 "ending_column": 44
}, },
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "bad4", "name": "bad1",
"source_mapping": { "source_mapping": {
"start": 1811, "start": 860,
"length": 249, "length": 232,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
52, 32,
53, 33,
54, 34,
55 35
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -309,9 +309,9 @@
"source_mapping": { "source_mapping": {
"start": 630, "start": 630,
"length": 1433, "length": 1433,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 19,
@ -358,16 +358,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)" "signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)"
} }
} }
} }
} }
], ],
"description": "C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#52-55) uses arbitrary from in transferFrom in combination with permit: SafeERC20.safeTransferFrom(erc20,from,to,value) (tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#54)\n", "description": "C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#32-35) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#34)\n",
"markdown": "[C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L52-L55) uses arbitrary from in transferFrom in combination with permit: [SafeERC20.safeTransferFrom(erc20,from,to,value)](tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L54)\n", "markdown": "[C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L32-L35) uses arbitrary from in transferFrom in combination with permit: [erc20.transferFrom(from,to,value)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L34)\n",
"first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L52-L55", "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L32-L35",
"id": "7ebee7b534acb9d9502df84ba56fd0e90223cd262964c77cb9bee798eabd674b", "id": "2c296d80100d63f511472381b87d4d0b6b0f97344ba63542faf7f5ec09138bd3",
"check": "arbitrary-send-erc20-permit", "check": "arbitrary-send-erc20-permit",
"impact": "High", "impact": "High",
"confidence": "Medium" "confidence": "Medium"
@ -376,19 +376,19 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "bad1", "name": "bad4",
"source_mapping": { "source_mapping": {
"start": 860, "start": 1811,
"length": 232, "length": 249,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
32, 52,
33, 53,
34, 54,
35 55
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -400,9 +400,9 @@
"source_mapping": { "source_mapping": {
"start": 630, "start": 630,
"length": 1433, "length": 1433,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 19,
@ -449,41 +449,41 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)" "signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "erc20.transferFrom(from,to,value)", "name": "SafeERC20.safeTransferFrom(erc20,from,to,value)",
"source_mapping": { "source_mapping": {
"start": 1050, "start": 2003,
"length": 35, "length": 50,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
34 54
], ],
"starting_column": 9, "starting_column": 9,
"ending_column": 44 "ending_column": 59
}, },
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "bad1", "name": "bad4",
"source_mapping": { "source_mapping": {
"start": 860, "start": 1811,
"length": 232, "length": 249,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
32, 52,
33, 53,
34, 54,
35 55
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -495,9 +495,9 @@
"source_mapping": { "source_mapping": {
"start": 630, "start": 630,
"length": 1433, "length": 1433,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 19,
@ -544,16 +544,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)" "signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)"
} }
} }
} }
} }
], ],
"description": "C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#32-35) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#34)\n", "description": "C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#52-55) uses arbitrary from in transferFrom in combination with permit: SafeERC20.safeTransferFrom(erc20,from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#54)\n",
"markdown": "[C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L32-L35) uses arbitrary from in transferFrom in combination with permit: [erc20.transferFrom(from,to,value)](tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L34)\n", "markdown": "[C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L52-L55) uses arbitrary from in transferFrom in combination with permit: [SafeERC20.safeTransferFrom(erc20,from,to,value)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L54)\n",
"first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L32-L35", "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L52-L55",
"id": "ba2c627103717a52a46b52714313000eb4f9d96f57dfac874854a3747ace5a13", "id": "820447a866858955ff2d6be25ff0a2e0acbd0586d9ee18a28cddc3d863b113a6",
"check": "arbitrary-send-erc20-permit", "check": "arbitrary-send-erc20-permit",
"impact": "High", "impact": "High",
"confidence": "Medium" "confidence": "Medium"
@ -562,19 +562,19 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "int_transferFrom", "name": "bad3",
"source_mapping": { "source_mapping": {
"start": 1311, "start": 1563,
"length": 246, "length": 238,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
42, 47,
43, 48,
44, 49,
45 50
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -586,9 +586,9 @@
"source_mapping": { "source_mapping": {
"start": 630, "start": 630,
"length": 1433, "length": 1433,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 19,
@ -635,41 +635,41 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)" "signature": "bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "erc20.transferFrom(from,to,value)", "name": "erc20.safeTransferFrom(from,to,value)",
"source_mapping": { "source_mapping": {
"start": 1515, "start": 1755,
"length": 35, "length": 39,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
44 49
], ],
"starting_column": 9, "starting_column": 9,
"ending_column": 44 "ending_column": 48
}, },
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "int_transferFrom", "name": "bad3",
"source_mapping": { "source_mapping": {
"start": 1311, "start": 1563,
"length": 246, "length": 238,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
42, 47,
43, 48,
44, 49,
45 50
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -681,9 +681,9 @@
"source_mapping": { "source_mapping": {
"start": 630, "start": 630,
"length": 1433, "length": 1433,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 19,
@ -730,16 +730,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)" "signature": "bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)"
} }
} }
} }
} }
], ],
"description": "C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#42-45) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#44)\n", "description": "C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#47-50) uses arbitrary from in transferFrom in combination with permit: erc20.safeTransferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#49)\n",
"markdown": "[C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L42-L45) uses arbitrary from in transferFrom in combination with permit: [erc20.transferFrom(from,to,value)](tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L44)\n", "markdown": "[C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L47-L50) uses arbitrary from in transferFrom in combination with permit: [erc20.safeTransferFrom(from,to,value)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L49)\n",
"first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L42-L45", "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L47-L50",
"id": "d56199ce2b7249389dffba8e53278f5ae32fbdda8a51cae8b5eb1cf2c09a0578", "id": "fe60744fd1115f5cab695c8a4cef91187c6594b8b9133d9c8c42871a69bc44b1",
"check": "arbitrary-send-erc20-permit", "check": "arbitrary-send-erc20-permit",
"impact": "High", "impact": "High",
"confidence": "Medium" "confidence": "Medium"

@ -4,19 +4,19 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "bad4", "name": "bad3",
"source_mapping": { "source_mapping": {
"start": 1811, "start": 1563,
"length": 249, "length": 238,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
52, 47,
53, 48,
54, 49,
55 50
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -28,9 +28,9 @@
"source_mapping": { "source_mapping": {
"start": 630, "start": 630,
"length": 1433, "length": 1433,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 19,
@ -77,41 +77,41 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)" "signature": "bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "SafeERC20.safeTransferFrom(erc20,from,to,value)", "name": "erc20.safeTransferFrom(from,to,value)",
"source_mapping": { "source_mapping": {
"start": 2003, "start": 1755,
"length": 50, "length": 39,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
54 49
], ],
"starting_column": 9, "starting_column": 9,
"ending_column": 59 "ending_column": 48
}, },
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "bad4", "name": "bad3",
"source_mapping": { "source_mapping": {
"start": 1811, "start": 1563,
"length": 249, "length": 238,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
52, 47,
53, 48,
54, 49,
55 50
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -123,9 +123,9 @@
"source_mapping": { "source_mapping": {
"start": 630, "start": 630,
"length": 1433, "length": 1433,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 19,
@ -172,16 +172,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)" "signature": "bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)"
} }
} }
} }
} }
], ],
"description": "C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#52-55) uses arbitrary from in transferFrom in combination with permit: SafeERC20.safeTransferFrom(erc20,from,to,value) (tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#54)\n", "description": "C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#47-50) uses arbitrary from in transferFrom in combination with permit: erc20.safeTransferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#49)\n",
"markdown": "[C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L52-L55) uses arbitrary from in transferFrom in combination with permit: [SafeERC20.safeTransferFrom(erc20,from,to,value)](tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L54)\n", "markdown": "[C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L47-L50) uses arbitrary from in transferFrom in combination with permit: [erc20.safeTransferFrom(from,to,value)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L49)\n",
"first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L52-L55", "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L47-L50",
"id": "136a1b6c001d3ca4b1aab662556139786307e1bf4cb929f4c507d592eb38cb72", "id": "42f3ef187f63f7af5b0d861ce439907349e82c4feee026975dac0919e31e6ccb",
"check": "arbitrary-send-erc20-permit", "check": "arbitrary-send-erc20-permit",
"impact": "High", "impact": "High",
"confidence": "Medium" "confidence": "Medium"
@ -190,19 +190,19 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "int_transferFrom", "name": "bad4",
"source_mapping": { "source_mapping": {
"start": 1311, "start": 1811,
"length": 246, "length": 249,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
42, 52,
43, 53,
44, 54,
45 55
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -214,9 +214,9 @@
"source_mapping": { "source_mapping": {
"start": 630, "start": 630,
"length": 1433, "length": 1433,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 19,
@ -263,41 +263,41 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)" "signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "erc20.transferFrom(from,to,value)", "name": "SafeERC20.safeTransferFrom(erc20,from,to,value)",
"source_mapping": { "source_mapping": {
"start": 1515, "start": 2003,
"length": 35, "length": 50,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
44 54
], ],
"starting_column": 9, "starting_column": 9,
"ending_column": 44 "ending_column": 59
}, },
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "int_transferFrom", "name": "bad4",
"source_mapping": { "source_mapping": {
"start": 1311, "start": 1811,
"length": 246, "length": 249,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
42, 52,
43, 53,
44, 54,
45 55
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -309,9 +309,9 @@
"source_mapping": { "source_mapping": {
"start": 630, "start": 630,
"length": 1433, "length": 1433,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 19,
@ -358,16 +358,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)" "signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)"
} }
} }
} }
} }
], ],
"description": "C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#42-45) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#44)\n", "description": "C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#52-55) uses arbitrary from in transferFrom in combination with permit: SafeERC20.safeTransferFrom(erc20,from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#54)\n",
"markdown": "[C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L42-L45) uses arbitrary from in transferFrom in combination with permit: [erc20.transferFrom(from,to,value)](tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L44)\n", "markdown": "[C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L52-L55) uses arbitrary from in transferFrom in combination with permit: [SafeERC20.safeTransferFrom(erc20,from,to,value)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L54)\n",
"first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L42-L45", "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L52-L55",
"id": "398cc3de119232bd6688c797ddfb4f84d7587dbf9f72f3056898bfc442a5fd85", "id": "e32264ced59dae2e3c1b6628c7e6877c4a29fd69e9f798b897b3d6bda04dc70d",
"check": "arbitrary-send-erc20-permit", "check": "arbitrary-send-erc20-permit",
"impact": "High", "impact": "High",
"confidence": "Medium" "confidence": "Medium"
@ -376,19 +376,19 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "bad1", "name": "int_transferFrom",
"source_mapping": { "source_mapping": {
"start": 860, "start": 1311,
"length": 232, "length": 246,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
32, 42,
33, 43,
34, 44,
35 45
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -400,9 +400,9 @@
"source_mapping": { "source_mapping": {
"start": 630, "start": 630,
"length": 1433, "length": 1433,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 19,
@ -449,21 +449,21 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)" "signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "erc20.transferFrom(from,to,value)", "name": "erc20.transferFrom(from,to,value)",
"source_mapping": { "source_mapping": {
"start": 1050, "start": 1515,
"length": 35, "length": 35,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
34 44
], ],
"starting_column": 9, "starting_column": 9,
"ending_column": 44 "ending_column": 44
@ -471,19 +471,19 @@
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "bad1", "name": "int_transferFrom",
"source_mapping": { "source_mapping": {
"start": 860, "start": 1311,
"length": 232, "length": 246,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
32, 42,
33, 43,
34, 44,
35 45
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -495,9 +495,9 @@
"source_mapping": { "source_mapping": {
"start": 630, "start": 630,
"length": 1433, "length": 1433,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 19,
@ -544,16 +544,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)" "signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)"
} }
} }
} }
} }
], ],
"description": "C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#32-35) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#34)\n", "description": "C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#42-45) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#44)\n",
"markdown": "[C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L32-L35) uses arbitrary from in transferFrom in combination with permit: [erc20.transferFrom(from,to,value)](tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L34)\n", "markdown": "[C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L42-L45) uses arbitrary from in transferFrom in combination with permit: [erc20.transferFrom(from,to,value)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L44)\n",
"first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L32-L35", "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L42-L45",
"id": "429dd8afad02f0e6869b1de2a82bf36ab35aaf74ba5909de5facd767f4642f32", "id": "e9b4e54b9329b9564418eb9152c19271a5cfe4f8f6785f213dd324b219ba9dbb",
"check": "arbitrary-send-erc20-permit", "check": "arbitrary-send-erc20-permit",
"impact": "High", "impact": "High",
"confidence": "Medium" "confidence": "Medium"
@ -562,19 +562,19 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "bad3", "name": "bad1",
"source_mapping": { "source_mapping": {
"start": 1563, "start": 860,
"length": 238, "length": 232,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
47, 32,
48, 33,
49, 34,
50 35
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -586,9 +586,9 @@
"source_mapping": { "source_mapping": {
"start": 630, "start": 630,
"length": 1433, "length": 1433,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 19,
@ -635,41 +635,41 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)" "signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "erc20.safeTransferFrom(from,to,value)", "name": "erc20.transferFrom(from,to,value)",
"source_mapping": { "source_mapping": {
"start": 1755, "start": 1050,
"length": 39, "length": 35,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
49 34
], ],
"starting_column": 9, "starting_column": 9,
"ending_column": 48 "ending_column": 44
}, },
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "bad3", "name": "bad1",
"source_mapping": { "source_mapping": {
"start": 1563, "start": 860,
"length": 238, "length": 232,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
47, 32,
48, 33,
49, 34,
50 35
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -681,9 +681,9 @@
"source_mapping": { "source_mapping": {
"start": 630, "start": 630,
"length": 1433, "length": 1433,
"filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 19,
@ -730,16 +730,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)" "signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)"
} }
} }
} }
} }
], ],
"description": "C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#47-50) uses arbitrary from in transferFrom in combination with permit: erc20.safeTransferFrom(from,to,value) (tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#49)\n", "description": "C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#32-35) uses arbitrary from in transferFrom in combination with permit: erc20.transferFrom(from,to,value) (tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#34)\n",
"markdown": "[C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L47-L50) uses arbitrary from in transferFrom in combination with permit: [erc20.safeTransferFrom(from,to,value)](tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L49)\n", "markdown": "[C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L32-L35) uses arbitrary from in transferFrom in combination with permit: [erc20.transferFrom(from,to,value)](tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L34)\n",
"first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L47-L50", "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L32-L35",
"id": "7841a86248d8345520e98b963d59de36814b25e5fa3cef9e031c61d05a7feb2a", "id": "efbc4aede4068fb46033ea04969b6584f373d9fa8d1047834b951aaa1207b7a2",
"check": "arbitrary-send-erc20-permit", "check": "arbitrary-send-erc20-permit",
"impact": "High", "impact": "High",
"confidence": "Medium" "confidence": "Medium"

@ -4,18 +4,18 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "bad1", "name": "bad4",
"source_mapping": { "source_mapping": {
"start": 780, "start": 1702,
"length": 97, "length": 133,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
35, 65,
36, 66,
37 67
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -27,9 +27,9 @@
"source_mapping": { "source_mapping": {
"start": 394, "start": 394,
"length": 1717, "length": 1717,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
17, 17,
@ -98,40 +98,40 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad1(address,uint256)" "signature": "bad4(address,address,uint256)"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "erc20.transferFrom(notsend,to,am)", "name": "SafeERC20.safeTransferFrom(erc20,from,to,amount)",
"source_mapping": { "source_mapping": {
"start": 835, "start": 1777,
"length": 35, "length": 51,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
36 66
], ],
"starting_column": 9, "starting_column": 9,
"ending_column": 44 "ending_column": 60
}, },
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "bad1", "name": "bad4",
"source_mapping": { "source_mapping": {
"start": 780, "start": 1702,
"length": 97, "length": 133,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
35, 65,
36, 66,
37 67
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -143,9 +143,9 @@
"source_mapping": { "source_mapping": {
"start": 394, "start": 394,
"length": 1717, "length": 1717,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
17, 17,
@ -214,16 +214,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad1(address,uint256)" "signature": "bad4(address,address,uint256)"
} }
} }
} }
} }
], ],
"description": "C.bad1(address,uint256) (tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#35-37) uses arbitrary from in transferFrom: erc20.transferFrom(notsend,to,am) (tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#36)\n", "description": "C.bad4(address,address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#65-67) uses arbitrary from in transferFrom: SafeERC20.safeTransferFrom(erc20,from,to,amount) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#66)\n",
"markdown": "[C.bad1(address,uint256)](tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L35-L37) uses arbitrary from in transferFrom: [erc20.transferFrom(notsend,to,am)](tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L36)\n", "markdown": "[C.bad4(address,address,uint256)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L65-L67) uses arbitrary from in transferFrom: [SafeERC20.safeTransferFrom(erc20,from,to,amount)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L66)\n",
"first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L35-L37", "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L65-L67",
"id": "430afa4e7855d25b1262162894fa21d58eea2571578d45de5399baf3eb438038", "id": "782ac6309a674c4c454f4addc1aa90d361333653e69ef1ae8931414391e8d29f",
"check": "arbitrary-send-erc20", "check": "arbitrary-send-erc20",
"impact": "High", "impact": "High",
"confidence": "High" "confidence": "High"
@ -232,18 +232,18 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "bad4", "name": "bad1",
"source_mapping": { "source_mapping": {
"start": 1702, "start": 780,
"length": 133, "length": 97,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
65, 35,
66, 36,
67 37
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -255,9 +255,9 @@
"source_mapping": { "source_mapping": {
"start": 394, "start": 394,
"length": 1717, "length": 1717,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
17, 17,
@ -326,40 +326,40 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad4(address,address,uint256)" "signature": "bad1(address,uint256)"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "SafeERC20.safeTransferFrom(erc20,from,to,amount)", "name": "erc20.transferFrom(notsend,to,am)",
"source_mapping": { "source_mapping": {
"start": 1777, "start": 835,
"length": 51, "length": 35,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
66 36
], ],
"starting_column": 9, "starting_column": 9,
"ending_column": 60 "ending_column": 44
}, },
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "bad4", "name": "bad1",
"source_mapping": { "source_mapping": {
"start": 1702, "start": 780,
"length": 133, "length": 97,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
65, 35,
66, 36,
67 37
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -371,9 +371,9 @@
"source_mapping": { "source_mapping": {
"start": 394, "start": 394,
"length": 1717, "length": 1717,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
17, 17,
@ -442,16 +442,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad4(address,address,uint256)" "signature": "bad1(address,uint256)"
} }
} }
} }
} }
], ],
"description": "C.bad4(address,address,uint256) (tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#65-67) uses arbitrary from in transferFrom: SafeERC20.safeTransferFrom(erc20,from,to,amount) (tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#66)\n", "description": "C.bad1(address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#35-37) uses arbitrary from in transferFrom: erc20.transferFrom(notsend,to,am) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#36)\n",
"markdown": "[C.bad4(address,address,uint256)](tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L65-L67) uses arbitrary from in transferFrom: [SafeERC20.safeTransferFrom(erc20,from,to,amount)](tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L66)\n", "markdown": "[C.bad1(address,uint256)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L35-L37) uses arbitrary from in transferFrom: [erc20.transferFrom(notsend,to,am)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L36)\n",
"first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L65-L67", "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L35-L37",
"id": "b2557d6385585034271b9873559de9cde4972e3207c43f260663f3d0e2a4d4a0", "id": "d8d440df76ab0715158f642a7390c91f0ab28ca9f0a1df990a8115f489a62e55",
"check": "arbitrary-send-erc20", "check": "arbitrary-send-erc20",
"impact": "High", "impact": "High",
"confidence": "High" "confidence": "High"
@ -464,9 +464,9 @@
"source_mapping": { "source_mapping": {
"start": 1434, "start": 1434,
"length": 122, "length": 122,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
57, 57,
@ -483,9 +483,9 @@
"source_mapping": { "source_mapping": {
"start": 394, "start": 394,
"length": 1717, "length": 1717,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
17, 17,
@ -563,9 +563,9 @@
"source_mapping": { "source_mapping": {
"start": 1509, "start": 1509,
"length": 40, "length": 40,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
58 58
@ -580,9 +580,9 @@
"source_mapping": { "source_mapping": {
"start": 1434, "start": 1434,
"length": 122, "length": 122,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
57, 57,
@ -599,9 +599,9 @@
"source_mapping": { "source_mapping": {
"start": 394, "start": 394,
"length": 1717, "length": 1717,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
17, 17,
@ -676,10 +676,10 @@
} }
} }
], ],
"description": "C.bad3(address,address,uint256) (tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#57-59) uses arbitrary from in transferFrom: erc20.safeTransferFrom(from,to,amount) (tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#58)\n", "description": "C.bad3(address,address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#57-59) uses arbitrary from in transferFrom: erc20.safeTransferFrom(from,to,amount) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#58)\n",
"markdown": "[C.bad3(address,address,uint256)](tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L57-L59) uses arbitrary from in transferFrom: [erc20.safeTransferFrom(from,to,amount)](tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L58)\n", "markdown": "[C.bad3(address,address,uint256)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L57-L59) uses arbitrary from in transferFrom: [erc20.safeTransferFrom(from,to,amount)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L58)\n",
"first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L57-L59", "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L57-L59",
"id": "e7271d3fa958d20a025419c070ea1010431487e98e30fa2db65db9bf54a13665", "id": "f6dc295bfacef59e39a209c62d7a9c4a4470255c0098e7cc23d084ed666e29f0",
"check": "arbitrary-send-erc20", "check": "arbitrary-send-erc20",
"impact": "High", "impact": "High",
"confidence": "High" "confidence": "High"

@ -8,9 +8,9 @@
"source_mapping": { "source_mapping": {
"start": 1702, "start": 1702,
"length": 133, "length": 133,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
65, 65,
@ -27,9 +27,9 @@
"source_mapping": { "source_mapping": {
"start": 394, "start": 394,
"length": 1717, "length": 1717,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
17, 17,
@ -107,9 +107,9 @@
"source_mapping": { "source_mapping": {
"start": 1777, "start": 1777,
"length": 51, "length": 51,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
66 66
@ -124,9 +124,9 @@
"source_mapping": { "source_mapping": {
"start": 1702, "start": 1702,
"length": 133, "length": 133,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
65, 65,
@ -143,9 +143,9 @@
"source_mapping": { "source_mapping": {
"start": 394, "start": 394,
"length": 1717, "length": 1717,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
17, 17,
@ -220,10 +220,10 @@
} }
} }
], ],
"description": "C.bad4(address,address,uint256) (tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#65-67) uses arbitrary from in transferFrom: SafeERC20.safeTransferFrom(erc20,from,to,amount) (tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#66)\n", "description": "C.bad4(address,address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#65-67) uses arbitrary from in transferFrom: SafeERC20.safeTransferFrom(erc20,from,to,amount) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#66)\n",
"markdown": "[C.bad4(address,address,uint256)](tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#L65-L67) uses arbitrary from in transferFrom: [SafeERC20.safeTransferFrom(erc20,from,to,amount)](tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#L66)\n", "markdown": "[C.bad4(address,address,uint256)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#L65-L67) uses arbitrary from in transferFrom: [SafeERC20.safeTransferFrom(erc20,from,to,amount)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#L66)\n",
"first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#L65-L67", "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#L65-L67",
"id": "15a810d738734100851211c7e6bff65724d553eb693869575ec3d9c9bf47081c", "id": "032453562de7f764a4207b76aa3ec875a21980644c4d3418fc186ec0a19a74f7",
"check": "arbitrary-send-erc20", "check": "arbitrary-send-erc20",
"impact": "High", "impact": "High",
"confidence": "High" "confidence": "High"
@ -232,18 +232,18 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "bad1", "name": "bad3",
"source_mapping": { "source_mapping": {
"start": 780, "start": 1434,
"length": 97, "length": 122,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
35, 57,
36, 58,
37 59
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -255,9 +255,9 @@
"source_mapping": { "source_mapping": {
"start": 394, "start": 394,
"length": 1717, "length": 1717,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
17, 17,
@ -326,40 +326,40 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad1(address,uint256)" "signature": "bad3(address,address,uint256)"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "erc20.transferFrom(notsend,to,am)", "name": "erc20.safeTransferFrom(from,to,amount)",
"source_mapping": { "source_mapping": {
"start": 835, "start": 1509,
"length": 35, "length": 40,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
36 58
], ],
"starting_column": 9, "starting_column": 9,
"ending_column": 44 "ending_column": 49
}, },
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "bad1", "name": "bad3",
"source_mapping": { "source_mapping": {
"start": 780, "start": 1434,
"length": 97, "length": 122,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
35, 57,
36, 58,
37 59
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -371,9 +371,9 @@
"source_mapping": { "source_mapping": {
"start": 394, "start": 394,
"length": 1717, "length": 1717,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
17, 17,
@ -442,16 +442,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad1(address,uint256)" "signature": "bad3(address,address,uint256)"
} }
} }
} }
} }
], ],
"description": "C.bad1(address,uint256) (tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#35-37) uses arbitrary from in transferFrom: erc20.transferFrom(notsend,to,am) (tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#36)\n", "description": "C.bad3(address,address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#57-59) uses arbitrary from in transferFrom: erc20.safeTransferFrom(from,to,amount) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#58)\n",
"markdown": "[C.bad1(address,uint256)](tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#L35-L37) uses arbitrary from in transferFrom: [erc20.transferFrom(notsend,to,am)](tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#L36)\n", "markdown": "[C.bad3(address,address,uint256)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#L57-L59) uses arbitrary from in transferFrom: [erc20.safeTransferFrom(from,to,amount)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#L58)\n",
"first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#L35-L37", "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#L57-L59",
"id": "6ca6aea5c4506ac7fa421c049e0bd41faa74317e303b94721bc64c2fc6e8f128", "id": "24af03aa72fded3faedf8cd9a6078c8d34d43e50b001678c983d7e85ff28a70f",
"check": "arbitrary-send-erc20", "check": "arbitrary-send-erc20",
"impact": "High", "impact": "High",
"confidence": "High" "confidence": "High"
@ -460,18 +460,18 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "bad3", "name": "bad1",
"source_mapping": { "source_mapping": {
"start": 1434, "start": 780,
"length": 122, "length": 97,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
57, 35,
58, 36,
59 37
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -483,9 +483,9 @@
"source_mapping": { "source_mapping": {
"start": 394, "start": 394,
"length": 1717, "length": 1717,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
17, 17,
@ -554,40 +554,40 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad3(address,address,uint256)" "signature": "bad1(address,uint256)"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "erc20.safeTransferFrom(from,to,amount)", "name": "erc20.transferFrom(notsend,to,am)",
"source_mapping": { "source_mapping": {
"start": 1509, "start": 835,
"length": 40, "length": 35,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
58 36
], ],
"starting_column": 9, "starting_column": 9,
"ending_column": 49 "ending_column": 44
}, },
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "bad3", "name": "bad1",
"source_mapping": { "source_mapping": {
"start": 1434, "start": 780,
"length": 122, "length": 97,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
57, 35,
58, 36,
59 37
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -599,9 +599,9 @@
"source_mapping": { "source_mapping": {
"start": 394, "start": 394,
"length": 1717, "length": 1717,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
17, 17,
@ -670,16 +670,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad3(address,address,uint256)" "signature": "bad1(address,uint256)"
} }
} }
} }
} }
], ],
"description": "C.bad3(address,address,uint256) (tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#57-59) uses arbitrary from in transferFrom: erc20.safeTransferFrom(from,to,amount) (tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#58)\n", "description": "C.bad1(address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#35-37) uses arbitrary from in transferFrom: erc20.transferFrom(notsend,to,am) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#36)\n",
"markdown": "[C.bad3(address,address,uint256)](tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#L57-L59) uses arbitrary from in transferFrom: [erc20.safeTransferFrom(from,to,amount)](tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#L58)\n", "markdown": "[C.bad1(address,uint256)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#L35-L37) uses arbitrary from in transferFrom: [erc20.transferFrom(notsend,to,am)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#L36)\n",
"first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#L57-L59", "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#L35-L37",
"id": "773c84f15f90123743b54aca858695d11603109f4da52c487ee4ae161f09411b", "id": "fdb4385a68f2d66f61e29e141233b969c36b21bcc2c57da25bd49f77a0c22c14",
"check": "arbitrary-send-erc20", "check": "arbitrary-send-erc20",
"impact": "High", "impact": "High",
"confidence": "High" "confidence": "High"

@ -8,9 +8,9 @@
"source_mapping": { "source_mapping": {
"start": 789, "start": 789,
"length": 97, "length": 97,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
35, 35,
@ -27,9 +27,9 @@
"source_mapping": { "source_mapping": {
"start": 403, "start": 403,
"length": 1721, "length": 1721,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
17, 17,
@ -107,9 +107,9 @@
"source_mapping": { "source_mapping": {
"start": 844, "start": 844,
"length": 35, "length": 35,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
36 36
@ -124,9 +124,9 @@
"source_mapping": { "source_mapping": {
"start": 789, "start": 789,
"length": 97, "length": 97,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
35, 35,
@ -143,9 +143,9 @@
"source_mapping": { "source_mapping": {
"start": 403, "start": 403,
"length": 1721, "length": 1721,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
17, 17,
@ -220,10 +220,10 @@
} }
} }
], ],
"description": "C.bad1(address,uint256) (tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#35-37) uses arbitrary from in transferFrom: erc20.transferFrom(notsend,to,am) (tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#36)\n", "description": "C.bad1(address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#35-37) uses arbitrary from in transferFrom: erc20.transferFrom(notsend,to,am) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#36)\n",
"markdown": "[C.bad1(address,uint256)](tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#L35-L37) uses arbitrary from in transferFrom: [erc20.transferFrom(notsend,to,am)](tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#L36)\n", "markdown": "[C.bad1(address,uint256)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#L35-L37) uses arbitrary from in transferFrom: [erc20.transferFrom(notsend,to,am)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#L36)\n",
"first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#L35-L37", "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#L35-L37",
"id": "040cf50981f6e1dea1f7a19f0115811be1347e0637f0ca85d789ae612a509322", "id": "3ee4e04cb082e655c1efd1510b30cdf4eb6a482b260ea7201c9169fba4ab9b85",
"check": "arbitrary-send-erc20", "check": "arbitrary-send-erc20",
"impact": "High", "impact": "High",
"confidence": "High" "confidence": "High"
@ -232,18 +232,18 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "bad4", "name": "bad3",
"source_mapping": { "source_mapping": {
"start": 1711, "start": 1443,
"length": 133, "length": 122,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
65, 57,
66, 58,
67 59
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -255,9 +255,9 @@
"source_mapping": { "source_mapping": {
"start": 403, "start": 403,
"length": 1721, "length": 1721,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
17, 17,
@ -326,40 +326,40 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad4(address,address,uint256)" "signature": "bad3(address,address,uint256)"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "SafeERC20.safeTransferFrom(erc20,from,to,amount)", "name": "erc20.safeTransferFrom(from,to,amount)",
"source_mapping": { "source_mapping": {
"start": 1786, "start": 1518,
"length": 51, "length": 40,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
66 58
], ],
"starting_column": 9, "starting_column": 9,
"ending_column": 60 "ending_column": 49
}, },
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "bad4", "name": "bad3",
"source_mapping": { "source_mapping": {
"start": 1711, "start": 1443,
"length": 133, "length": 122,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
65, 57,
66, 58,
67 59
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -371,9 +371,9 @@
"source_mapping": { "source_mapping": {
"start": 403, "start": 403,
"length": 1721, "length": 1721,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
17, 17,
@ -442,16 +442,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad4(address,address,uint256)" "signature": "bad3(address,address,uint256)"
} }
} }
} }
} }
], ],
"description": "C.bad4(address,address,uint256) (tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#65-67) uses arbitrary from in transferFrom: SafeERC20.safeTransferFrom(erc20,from,to,amount) (tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#66)\n", "description": "C.bad3(address,address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#57-59) uses arbitrary from in transferFrom: erc20.safeTransferFrom(from,to,amount) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#58)\n",
"markdown": "[C.bad4(address,address,uint256)](tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#L65-L67) uses arbitrary from in transferFrom: [SafeERC20.safeTransferFrom(erc20,from,to,amount)](tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#L66)\n", "markdown": "[C.bad3(address,address,uint256)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#L57-L59) uses arbitrary from in transferFrom: [erc20.safeTransferFrom(from,to,amount)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#L58)\n",
"first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#L65-L67", "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#L57-L59",
"id": "61438092d2da6c23ecfa13e5e55c489e538249e47bddd9335b533d28a242aea1", "id": "de8b51ae7497fbc596bd29f45432f5e9894574af684b3b65dae7ddd45cb8c71a",
"check": "arbitrary-send-erc20", "check": "arbitrary-send-erc20",
"impact": "High", "impact": "High",
"confidence": "High" "confidence": "High"
@ -460,18 +460,18 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "bad3", "name": "bad4",
"source_mapping": { "source_mapping": {
"start": 1443, "start": 1711,
"length": 122, "length": 133,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
57, 65,
58, 66,
59 67
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -483,9 +483,9 @@
"source_mapping": { "source_mapping": {
"start": 403, "start": 403,
"length": 1721, "length": 1721,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
17, 17,
@ -554,40 +554,40 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad3(address,address,uint256)" "signature": "bad4(address,address,uint256)"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "erc20.safeTransferFrom(from,to,amount)", "name": "SafeERC20.safeTransferFrom(erc20,from,to,amount)",
"source_mapping": { "source_mapping": {
"start": 1518, "start": 1786,
"length": 40, "length": 51,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
58 66
], ],
"starting_column": 9, "starting_column": 9,
"ending_column": 49 "ending_column": 60
}, },
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "bad3", "name": "bad4",
"source_mapping": { "source_mapping": {
"start": 1443, "start": 1711,
"length": 122, "length": 133,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
57, 65,
58, 66,
59 67
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -599,9 +599,9 @@
"source_mapping": { "source_mapping": {
"start": 403, "start": 403,
"length": 1721, "length": 1721,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
17, 17,
@ -670,16 +670,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad3(address,address,uint256)" "signature": "bad4(address,address,uint256)"
} }
} }
} }
} }
], ],
"description": "C.bad3(address,address,uint256) (tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#57-59) uses arbitrary from in transferFrom: erc20.safeTransferFrom(from,to,amount) (tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#58)\n", "description": "C.bad4(address,address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#65-67) uses arbitrary from in transferFrom: SafeERC20.safeTransferFrom(erc20,from,to,amount) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#66)\n",
"markdown": "[C.bad3(address,address,uint256)](tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#L57-L59) uses arbitrary from in transferFrom: [erc20.safeTransferFrom(from,to,amount)](tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#L58)\n", "markdown": "[C.bad4(address,address,uint256)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#L65-L67) uses arbitrary from in transferFrom: [SafeERC20.safeTransferFrom(erc20,from,to,amount)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#L66)\n",
"first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#L57-L59", "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#L65-L67",
"id": "8551e9d33fdd4f73f1eb7776480b2e8cd2cf9c897b52285c3a287caab6822ce3", "id": "f8361d02867f34ef252d248d5c7c1d0d4570210ce04b6a4f07f921950d80233b",
"check": "arbitrary-send-erc20", "check": "arbitrary-send-erc20",
"impact": "High", "impact": "High",
"confidence": "High" "confidence": "High"

@ -4,18 +4,18 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "bad3", "name": "bad4",
"source_mapping": { "source_mapping": {
"start": 1435, "start": 1703,
"length": 122, "length": 133,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
57, 65,
58, 66,
59 67
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -27,9 +27,9 @@
"source_mapping": { "source_mapping": {
"start": 402, "start": 402,
"length": 1710, "length": 1710,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
17, 17,
@ -98,40 +98,40 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad3(address,address,uint256)" "signature": "bad4(address,address,uint256)"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "erc20.safeTransferFrom(from,to,amount)", "name": "SafeERC20.safeTransferFrom(erc20,from,to,amount)",
"source_mapping": { "source_mapping": {
"start": 1510, "start": 1778,
"length": 40, "length": 51,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
58 66
], ],
"starting_column": 9, "starting_column": 9,
"ending_column": 49 "ending_column": 60
}, },
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "bad3", "name": "bad4",
"source_mapping": { "source_mapping": {
"start": 1435, "start": 1703,
"length": 122, "length": 133,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
57, 65,
58, 66,
59 67
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -143,9 +143,9 @@
"source_mapping": { "source_mapping": {
"start": 402, "start": 402,
"length": 1710, "length": 1710,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
17, 17,
@ -214,16 +214,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad3(address,address,uint256)" "signature": "bad4(address,address,uint256)"
} }
} }
} }
} }
], ],
"description": "C.bad3(address,address,uint256) (tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#57-59) uses arbitrary from in transferFrom: erc20.safeTransferFrom(from,to,amount) (tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#58)\n", "description": "C.bad4(address,address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#65-67) uses arbitrary from in transferFrom: SafeERC20.safeTransferFrom(erc20,from,to,amount) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#66)\n",
"markdown": "[C.bad3(address,address,uint256)](tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#L57-L59) uses arbitrary from in transferFrom: [erc20.safeTransferFrom(from,to,amount)](tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#L58)\n", "markdown": "[C.bad4(address,address,uint256)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#L65-L67) uses arbitrary from in transferFrom: [SafeERC20.safeTransferFrom(erc20,from,to,amount)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#L66)\n",
"first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#L57-L59", "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#L65-L67",
"id": "27c4a0e1a038beb0c01c86e07f1aef592f96907d330bcf899bde6632a9022327", "id": "a6cc1c7767af60c53ded524a69ea19d45f030de39ca0d5838f9b9790c40d52fc",
"check": "arbitrary-send-erc20", "check": "arbitrary-send-erc20",
"impact": "High", "impact": "High",
"confidence": "High" "confidence": "High"
@ -232,18 +232,18 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "bad1", "name": "bad3",
"source_mapping": { "source_mapping": {
"start": 781, "start": 1435,
"length": 97, "length": 122,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
35, 57,
36, 58,
37 59
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -255,9 +255,9 @@
"source_mapping": { "source_mapping": {
"start": 402, "start": 402,
"length": 1710, "length": 1710,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
17, 17,
@ -326,40 +326,40 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad1(address,uint256)" "signature": "bad3(address,address,uint256)"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "erc20.transferFrom(notsend,to,am)", "name": "erc20.safeTransferFrom(from,to,amount)",
"source_mapping": { "source_mapping": {
"start": 836, "start": 1510,
"length": 35, "length": 40,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
36 58
], ],
"starting_column": 9, "starting_column": 9,
"ending_column": 44 "ending_column": 49
}, },
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "bad1", "name": "bad3",
"source_mapping": { "source_mapping": {
"start": 781, "start": 1435,
"length": 97, "length": 122,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
35, 57,
36, 58,
37 59
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -371,9 +371,9 @@
"source_mapping": { "source_mapping": {
"start": 402, "start": 402,
"length": 1710, "length": 1710,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
17, 17,
@ -442,16 +442,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad1(address,uint256)" "signature": "bad3(address,address,uint256)"
} }
} }
} }
} }
], ],
"description": "C.bad1(address,uint256) (tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#35-37) uses arbitrary from in transferFrom: erc20.transferFrom(notsend,to,am) (tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#36)\n", "description": "C.bad3(address,address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#57-59) uses arbitrary from in transferFrom: erc20.safeTransferFrom(from,to,amount) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#58)\n",
"markdown": "[C.bad1(address,uint256)](tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#L35-L37) uses arbitrary from in transferFrom: [erc20.transferFrom(notsend,to,am)](tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#L36)\n", "markdown": "[C.bad3(address,address,uint256)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#L57-L59) uses arbitrary from in transferFrom: [erc20.safeTransferFrom(from,to,amount)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#L58)\n",
"first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#L35-L37", "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#L57-L59",
"id": "820841ccd8aee0469f9719d62ad01054b71a758a1d6924ed6a19ea078ff8350a", "id": "d08a69b25eee59446b955d7dc80198afec5c7c05562f489dac38ad172f318e87",
"check": "arbitrary-send-erc20", "check": "arbitrary-send-erc20",
"impact": "High", "impact": "High",
"confidence": "High" "confidence": "High"
@ -460,18 +460,18 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "bad4", "name": "bad1",
"source_mapping": { "source_mapping": {
"start": 1703, "start": 781,
"length": 133, "length": 97,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
65, 35,
66, 36,
67 37
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -483,9 +483,9 @@
"source_mapping": { "source_mapping": {
"start": 402, "start": 402,
"length": 1710, "length": 1710,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
17, 17,
@ -554,40 +554,40 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad4(address,address,uint256)" "signature": "bad1(address,uint256)"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "SafeERC20.safeTransferFrom(erc20,from,to,amount)", "name": "erc20.transferFrom(notsend,to,am)",
"source_mapping": { "source_mapping": {
"start": 1778, "start": 836,
"length": 51, "length": 35,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
66 36
], ],
"starting_column": 9, "starting_column": 9,
"ending_column": 60 "ending_column": 44
}, },
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "bad4", "name": "bad1",
"source_mapping": { "source_mapping": {
"start": 1703, "start": 781,
"length": 133, "length": 97,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
65, 35,
66, 36,
67 37
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -599,9 +599,9 @@
"source_mapping": { "source_mapping": {
"start": 402, "start": 402,
"length": 1710, "length": 1710,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
17, 17,
@ -670,16 +670,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad4(address,address,uint256)" "signature": "bad1(address,uint256)"
} }
} }
} }
} }
], ],
"description": "C.bad4(address,address,uint256) (tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#65-67) uses arbitrary from in transferFrom: SafeERC20.safeTransferFrom(erc20,from,to,amount) (tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#66)\n", "description": "C.bad1(address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#35-37) uses arbitrary from in transferFrom: erc20.transferFrom(notsend,to,am) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#36)\n",
"markdown": "[C.bad4(address,address,uint256)](tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#L65-L67) uses arbitrary from in transferFrom: [SafeERC20.safeTransferFrom(erc20,from,to,amount)](tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#L66)\n", "markdown": "[C.bad1(address,uint256)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#L35-L37) uses arbitrary from in transferFrom: [erc20.transferFrom(notsend,to,am)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#L36)\n",
"first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#L65-L67", "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#L35-L37",
"id": "9ecb2b9df9554b9ebdbcfd058eb44ba4f1524b285b676063432d5ede48aee5ad", "id": "e2456673798cea3df117f0bf62c3394f4361a4f0ff4e924ae9dfbd9908f19a20",
"check": "arbitrary-send-erc20", "check": "arbitrary-send-erc20",
"impact": "High", "impact": "High",
"confidence": "High" "confidence": "High"

@ -4,18 +4,18 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "bad3", "name": "bad1",
"source_mapping": { "source_mapping": {
"start": 1435, "start": 781,
"length": 122, "length": 97,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
57, 35,
58, 36,
59 37
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -27,9 +27,9 @@
"source_mapping": { "source_mapping": {
"start": 402, "start": 402,
"length": 1710, "length": 1710,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
17, 17,
@ -98,40 +98,40 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad3(address,address,uint256)" "signature": "bad1(address,uint256)"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "erc20.safeTransferFrom(from,to,amount)", "name": "erc20.transferFrom(notsend,to,am)",
"source_mapping": { "source_mapping": {
"start": 1510, "start": 836,
"length": 40, "length": 35,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
58 36
], ],
"starting_column": 9, "starting_column": 9,
"ending_column": 49 "ending_column": 44
}, },
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "bad3", "name": "bad1",
"source_mapping": { "source_mapping": {
"start": 1435, "start": 781,
"length": 122, "length": 97,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
57, 35,
58, 36,
59 37
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -143,9 +143,9 @@
"source_mapping": { "source_mapping": {
"start": 402, "start": 402,
"length": 1710, "length": 1710,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
17, 17,
@ -214,16 +214,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad3(address,address,uint256)" "signature": "bad1(address,uint256)"
} }
} }
} }
} }
], ],
"description": "C.bad3(address,address,uint256) (tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#57-59) uses arbitrary from in transferFrom: erc20.safeTransferFrom(from,to,amount) (tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#58)\n", "description": "C.bad1(address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#35-37) uses arbitrary from in transferFrom: erc20.transferFrom(notsend,to,am) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#36)\n",
"markdown": "[C.bad3(address,address,uint256)](tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#L57-L59) uses arbitrary from in transferFrom: [erc20.safeTransferFrom(from,to,amount)](tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#L58)\n", "markdown": "[C.bad1(address,uint256)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#L35-L37) uses arbitrary from in transferFrom: [erc20.transferFrom(notsend,to,am)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#L36)\n",
"first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#L57-L59", "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#L35-L37",
"id": "196b46419f55696599f4a533ea4915c3b1c39be679d8e2ab15a60b7a0238d52c", "id": "27d7e29cffdefedcd7bda099409891a2046976d0b7a2f64eaa28877112df7b7e",
"check": "arbitrary-send-erc20", "check": "arbitrary-send-erc20",
"impact": "High", "impact": "High",
"confidence": "High" "confidence": "High"
@ -232,18 +232,18 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "bad4", "name": "bad3",
"source_mapping": { "source_mapping": {
"start": 1703, "start": 1435,
"length": 133, "length": 122,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
65, 57,
66, 58,
67 59
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -255,9 +255,9 @@
"source_mapping": { "source_mapping": {
"start": 402, "start": 402,
"length": 1710, "length": 1710,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
17, 17,
@ -326,40 +326,40 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad4(address,address,uint256)" "signature": "bad3(address,address,uint256)"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "SafeERC20.safeTransferFrom(erc20,from,to,amount)", "name": "erc20.safeTransferFrom(from,to,amount)",
"source_mapping": { "source_mapping": {
"start": 1778, "start": 1510,
"length": 51, "length": 40,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
66 58
], ],
"starting_column": 9, "starting_column": 9,
"ending_column": 60 "ending_column": 49
}, },
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "bad4", "name": "bad3",
"source_mapping": { "source_mapping": {
"start": 1703, "start": 1435,
"length": 133, "length": 122,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
65, 57,
66, 58,
67 59
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -371,9 +371,9 @@
"source_mapping": { "source_mapping": {
"start": 402, "start": 402,
"length": 1710, "length": 1710,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
17, 17,
@ -442,16 +442,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad4(address,address,uint256)" "signature": "bad3(address,address,uint256)"
} }
} }
} }
} }
], ],
"description": "C.bad4(address,address,uint256) (tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#65-67) uses arbitrary from in transferFrom: SafeERC20.safeTransferFrom(erc20,from,to,amount) (tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#66)\n", "description": "C.bad3(address,address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#57-59) uses arbitrary from in transferFrom: erc20.safeTransferFrom(from,to,amount) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#58)\n",
"markdown": "[C.bad4(address,address,uint256)](tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#L65-L67) uses arbitrary from in transferFrom: [SafeERC20.safeTransferFrom(erc20,from,to,amount)](tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#L66)\n", "markdown": "[C.bad3(address,address,uint256)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#L57-L59) uses arbitrary from in transferFrom: [erc20.safeTransferFrom(from,to,amount)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#L58)\n",
"first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#L65-L67", "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#L57-L59",
"id": "6ba2ac6eeef603310a4b4f7931ab44fadb3a242517096e17c5f1e39f0f4b83cf", "id": "42ab0e5179e6f2a124a6cb4812054d724422d55c2032dd0708bc72c05a66e98d",
"check": "arbitrary-send-erc20", "check": "arbitrary-send-erc20",
"impact": "High", "impact": "High",
"confidence": "High" "confidence": "High"
@ -460,18 +460,18 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "bad1", "name": "bad4",
"source_mapping": { "source_mapping": {
"start": 781, "start": 1703,
"length": 97, "length": 133,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
35, 65,
36, 66,
37 67
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -483,9 +483,9 @@
"source_mapping": { "source_mapping": {
"start": 402, "start": 402,
"length": 1710, "length": 1710,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
17, 17,
@ -554,40 +554,40 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad1(address,uint256)" "signature": "bad4(address,address,uint256)"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "erc20.transferFrom(notsend,to,am)", "name": "SafeERC20.safeTransferFrom(erc20,from,to,amount)",
"source_mapping": { "source_mapping": {
"start": 836, "start": 1778,
"length": 35, "length": 51,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
36 66
], ],
"starting_column": 9, "starting_column": 9,
"ending_column": 44 "ending_column": 60
}, },
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "bad1", "name": "bad4",
"source_mapping": { "source_mapping": {
"start": 781, "start": 1703,
"length": 97, "length": 133,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
35, 65,
36, 66,
37 67
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -599,9 +599,9 @@
"source_mapping": { "source_mapping": {
"start": 402, "start": 402,
"length": 1710, "length": 1710,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
17, 17,
@ -670,16 +670,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad1(address,uint256)" "signature": "bad4(address,address,uint256)"
} }
} }
} }
} }
], ],
"description": "C.bad1(address,uint256) (tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#35-37) uses arbitrary from in transferFrom: erc20.transferFrom(notsend,to,am) (tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#36)\n", "description": "C.bad4(address,address,uint256) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#65-67) uses arbitrary from in transferFrom: SafeERC20.safeTransferFrom(erc20,from,to,amount) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#66)\n",
"markdown": "[C.bad1(address,uint256)](tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#L35-L37) uses arbitrary from in transferFrom: [erc20.transferFrom(notsend,to,am)](tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#L36)\n", "markdown": "[C.bad4(address,address,uint256)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#L65-L67) uses arbitrary from in transferFrom: [SafeERC20.safeTransferFrom(erc20,from,to,amount)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#L66)\n",
"first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#L35-L37", "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#L65-L67",
"id": "8972d014c645b3a3783400fb2a6a38b20ea38973481025b6f99b3c15c9e63868", "id": "5b4614fc9fd5c01b1ca3f3713366e33d7b87b516646cc349aa3b383a2d4cef6b",
"check": "arbitrary-send-erc20", "check": "arbitrary-send-erc20",
"impact": "High", "impact": "High",
"confidence": "High" "confidence": "High"

@ -8,9 +8,9 @@
"source_mapping": { "source_mapping": {
"start": 196, "start": 196,
"length": 88, "length": 88,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
11, 11,
@ -27,9 +27,9 @@
"source_mapping": { "source_mapping": {
"start": 138, "start": 138,
"length": 149, "length": 149,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
7, 7,
@ -54,9 +54,9 @@
"source_mapping": { "source_mapping": {
"start": 234, "start": 234,
"length": 46, "length": 46,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
12 12
@ -71,9 +71,9 @@
"source_mapping": { "source_mapping": {
"start": 196, "start": 196,
"length": 88, "length": 88,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
11, 11,
@ -90,9 +90,9 @@
"source_mapping": { "source_mapping": {
"start": 138, "start": 138,
"length": 149, "length": 149,
"filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
7, 7,
@ -114,10 +114,10 @@
} }
} }
], ],
"description": "T.bad(address) (tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol#11-13) uses arbitrary from in transferFrom: erc20.safeTransferFrom(from,address(0x1),90) (tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol#12)\n", "description": "T.bad(address) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol#11-13) uses arbitrary from in transferFrom: erc20.safeTransferFrom(from,address(0x1),90) (tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol#12)\n",
"markdown": "[T.bad(address)](tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol#L11-L13) uses arbitrary from in transferFrom: [erc20.safeTransferFrom(from,address(0x1),90)](tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol#L12)\n", "markdown": "[T.bad(address)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol#L11-L13) uses arbitrary from in transferFrom: [erc20.safeTransferFrom(from,address(0x1),90)](tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol#L12)\n",
"first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol#L11-L13", "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol#L11-L13",
"id": "51845f69be45c4d9b97ff3e01cbc5bf55d1c1cddcc4776f39e22dd803a241e46", "id": "60e953d6175f0ac988d7896f836c2963387efc3064ea8dc46e7f5a88b1792d0a",
"check": "arbitrary-send-erc20", "check": "arbitrary-send-erc20",
"impact": "High", "impact": "High",
"confidence": "High" "confidence": "High"

@ -4,18 +4,18 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "direct", "name": "indirect",
"source_mapping": { "source_mapping": {
"start": 147, "start": 301,
"length": 79, "length": 82,
"filename_relative": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
11, 19,
12, 20,
13 21
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -27,9 +27,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 869, "length": 869,
"filename_relative": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -78,40 +78,40 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "direct()" "signature": "indirect()"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "msg.sender.send(address(this).balance)", "name": "destination.send(address(this).balance)",
"source_mapping": { "source_mapping": {
"start": 181, "start": 337,
"length": 38, "length": 39,
"filename_relative": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
12 20
], ],
"starting_column": 9, "starting_column": 9,
"ending_column": 47 "ending_column": 48
}, },
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "direct", "name": "indirect",
"source_mapping": { "source_mapping": {
"start": 147, "start": 301,
"length": 79, "length": 82,
"filename_relative": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
11, 19,
12, 20,
13 21
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -123,9 +123,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 869, "length": 869,
"filename_relative": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -174,16 +174,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "direct()" "signature": "indirect()"
} }
} }
} }
} }
], ],
"description": "Test.direct() (tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#11-13) sends eth to arbitrary user\n\tDangerous calls:\n\t- msg.sender.send(address(this).balance) (tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#12)\n", "description": "Test.indirect() (tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#19-21) sends eth to arbitrary user\n\tDangerous calls:\n\t- destination.send(address(this).balance) (tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#20)\n",
"markdown": "[Test.direct()](tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#L11-L13) sends eth to arbitrary user\n\tDangerous calls:\n\t- [msg.sender.send(address(this).balance)](tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#L12)\n", "markdown": "[Test.indirect()](tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#L19-L21) sends eth to arbitrary user\n\tDangerous calls:\n\t- [destination.send(address(this).balance)](tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#L20)\n",
"first_markdown_element": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#L11-L13", "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#L19-L21",
"id": "672bdccd2e85fb88deee03d312d533259b73ca932965ae09e5b24a3b546c4ad2", "id": "a117e017d88dcf44b5a68050b9cc79263760734b6e9fa1c5627484395035afab",
"check": "arbitrary-send-eth", "check": "arbitrary-send-eth",
"impact": "High", "impact": "High",
"confidence": "Medium" "confidence": "Medium"
@ -192,18 +192,18 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "indirect", "name": "direct",
"source_mapping": { "source_mapping": {
"start": 301, "start": 147,
"length": 82, "length": 79,
"filename_relative": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 11,
20, 12,
21 13
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -215,9 +215,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 869, "length": 869,
"filename_relative": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -266,40 +266,40 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "indirect()" "signature": "direct()"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "destination.send(address(this).balance)", "name": "msg.sender.send(address(this).balance)",
"source_mapping": { "source_mapping": {
"start": 337, "start": 181,
"length": 39, "length": 38,
"filename_relative": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
20 12
], ],
"starting_column": 9, "starting_column": 9,
"ending_column": 48 "ending_column": 47
}, },
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "indirect", "name": "direct",
"source_mapping": { "source_mapping": {
"start": 301, "start": 147,
"length": 82, "length": 79,
"filename_relative": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 11,
20, 12,
21 13
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -311,9 +311,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 869, "length": 869,
"filename_relative": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -362,16 +362,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "indirect()" "signature": "direct()"
} }
} }
} }
} }
], ],
"description": "Test.indirect() (tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#19-21) sends eth to arbitrary user\n\tDangerous calls:\n\t- destination.send(address(this).balance) (tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#20)\n", "description": "Test.direct() (tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#11-13) sends eth to arbitrary user\n\tDangerous calls:\n\t- msg.sender.send(address(this).balance) (tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#12)\n",
"markdown": "[Test.indirect()](tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#L19-L21) sends eth to arbitrary user\n\tDangerous calls:\n\t- [destination.send(address(this).balance)](tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#L20)\n", "markdown": "[Test.direct()](tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#L11-L13) sends eth to arbitrary user\n\tDangerous calls:\n\t- [msg.sender.send(address(this).balance)](tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#L12)\n",
"first_markdown_element": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#L19-L21", "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#L11-L13",
"id": "9d50facc8382e844e7381f8ca9e389061bd0302345047de2407e0ad7b046687d", "id": "a3f691d79400cfbc468d13a348697863660c3460ceebfea85a6f5c07c9f93a1f",
"check": "arbitrary-send-eth", "check": "arbitrary-send-eth",
"impact": "High", "impact": "High",
"confidence": "Medium" "confidence": "Medium"

@ -8,9 +8,9 @@
"source_mapping": { "source_mapping": {
"start": 162, "start": 162,
"length": 79, "length": 79,
"filename_relative": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
11, 11,
@ -27,9 +27,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 884, "length": 884,
"filename_relative": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -87,9 +87,9 @@
"source_mapping": { "source_mapping": {
"start": 196, "start": 196,
"length": 38, "length": 38,
"filename_relative": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
12 12
@ -104,9 +104,9 @@
"source_mapping": { "source_mapping": {
"start": 162, "start": 162,
"length": 79, "length": 79,
"filename_relative": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
11, 11,
@ -123,9 +123,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 884, "length": 884,
"filename_relative": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -180,10 +180,10 @@
} }
} }
], ],
"description": "Test.direct() (tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#11-13) sends eth to arbitrary user\n\tDangerous calls:\n\t- msg.sender.send(address(this).balance) (tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#12)\n", "description": "Test.direct() (tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#11-13) sends eth to arbitrary user\n\tDangerous calls:\n\t- msg.sender.send(address(this).balance) (tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#12)\n",
"markdown": "[Test.direct()](tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#L11-L13) sends eth to arbitrary user\n\tDangerous calls:\n\t- [msg.sender.send(address(this).balance)](tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#L12)\n", "markdown": "[Test.direct()](tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#L11-L13) sends eth to arbitrary user\n\tDangerous calls:\n\t- [msg.sender.send(address(this).balance)](tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#L12)\n",
"first_markdown_element": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#L11-L13", "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#L11-L13",
"id": "7ded1859293ad51d129850d2f19669c7d38f4687a6e2afa8d93534d5f2a9a0ad", "id": "4ccd608ef16f83d45efea33bbe26da98fa322c8551e1ce4dfcc718511a328f94",
"check": "arbitrary-send-eth", "check": "arbitrary-send-eth",
"impact": "High", "impact": "High",
"confidence": "Medium" "confidence": "Medium"
@ -196,9 +196,9 @@
"source_mapping": { "source_mapping": {
"start": 316, "start": 316,
"length": 82, "length": 82,
"filename_relative": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 19,
@ -215,9 +215,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 884, "length": 884,
"filename_relative": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -275,9 +275,9 @@
"source_mapping": { "source_mapping": {
"start": 352, "start": 352,
"length": 39, "length": 39,
"filename_relative": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
20 20
@ -292,9 +292,9 @@
"source_mapping": { "source_mapping": {
"start": 316, "start": 316,
"length": 82, "length": 82,
"filename_relative": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 19,
@ -311,9 +311,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 884, "length": 884,
"filename_relative": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -368,10 +368,10 @@
} }
} }
], ],
"description": "Test.indirect() (tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#19-21) sends eth to arbitrary user\n\tDangerous calls:\n\t- destination.send(address(this).balance) (tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#20)\n", "description": "Test.indirect() (tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#19-21) sends eth to arbitrary user\n\tDangerous calls:\n\t- destination.send(address(this).balance) (tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#20)\n",
"markdown": "[Test.indirect()](tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#L19-L21) sends eth to arbitrary user\n\tDangerous calls:\n\t- [destination.send(address(this).balance)](tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#L20)\n", "markdown": "[Test.indirect()](tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#L19-L21) sends eth to arbitrary user\n\tDangerous calls:\n\t- [destination.send(address(this).balance)](tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#L20)\n",
"first_markdown_element": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#L19-L21", "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#L19-L21",
"id": "d27379ff48eebb6c568308104d444dc8f6b5ed5eae53f6c937aec9fb15cf6464", "id": "8e28e46dabfb6c22ddc3d768097fd8c1a9c5331cba0480e540df2173a35db644",
"check": "arbitrary-send-eth", "check": "arbitrary-send-eth",
"impact": "High", "impact": "High",
"confidence": "Medium" "confidence": "Medium"

@ -8,9 +8,9 @@
"source_mapping": { "source_mapping": {
"start": 316, "start": 316,
"length": 82, "length": 82,
"filename_relative": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 19,
@ -27,9 +27,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 884, "length": 884,
"filename_relative": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -87,9 +87,9 @@
"source_mapping": { "source_mapping": {
"start": 352, "start": 352,
"length": 39, "length": 39,
"filename_relative": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
20 20
@ -104,9 +104,9 @@
"source_mapping": { "source_mapping": {
"start": 316, "start": 316,
"length": 82, "length": 82,
"filename_relative": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 19,
@ -123,9 +123,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 884, "length": 884,
"filename_relative": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -180,10 +180,10 @@
} }
} }
], ],
"description": "Test.indirect() (tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#19-21) sends eth to arbitrary user\n\tDangerous calls:\n\t- destination.send(address(this).balance) (tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#20)\n", "description": "Test.indirect() (tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#19-21) sends eth to arbitrary user\n\tDangerous calls:\n\t- destination.send(address(this).balance) (tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#20)\n",
"markdown": "[Test.indirect()](tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#L19-L21) sends eth to arbitrary user\n\tDangerous calls:\n\t- [destination.send(address(this).balance)](tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#L20)\n", "markdown": "[Test.indirect()](tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#L19-L21) sends eth to arbitrary user\n\tDangerous calls:\n\t- [destination.send(address(this).balance)](tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#L20)\n",
"first_markdown_element": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#L19-L21", "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#L19-L21",
"id": "0ec491130aac4e23e6d47193bff49ed6029330bca373454b4e34ffba0a2baea6", "id": "5ba8311b7d5a57cdfdf3009f594b708dcee0e532b6789fa2602b1e497cab78ff",
"check": "arbitrary-send-eth", "check": "arbitrary-send-eth",
"impact": "High", "impact": "High",
"confidence": "Medium" "confidence": "Medium"
@ -196,9 +196,9 @@
"source_mapping": { "source_mapping": {
"start": 162, "start": 162,
"length": 79, "length": 79,
"filename_relative": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
11, 11,
@ -215,9 +215,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 884, "length": 884,
"filename_relative": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -275,9 +275,9 @@
"source_mapping": { "source_mapping": {
"start": 196, "start": 196,
"length": 38, "length": 38,
"filename_relative": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
12 12
@ -292,9 +292,9 @@
"source_mapping": { "source_mapping": {
"start": 162, "start": 162,
"length": 79, "length": 79,
"filename_relative": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
11, 11,
@ -311,9 +311,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 884, "length": 884,
"filename_relative": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -368,10 +368,10 @@
} }
} }
], ],
"description": "Test.direct() (tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#11-13) sends eth to arbitrary user\n\tDangerous calls:\n\t- msg.sender.send(address(this).balance) (tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#12)\n", "description": "Test.direct() (tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#11-13) sends eth to arbitrary user\n\tDangerous calls:\n\t- msg.sender.send(address(this).balance) (tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#12)\n",
"markdown": "[Test.direct()](tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#L11-L13) sends eth to arbitrary user\n\tDangerous calls:\n\t- [msg.sender.send(address(this).balance)](tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#L12)\n", "markdown": "[Test.direct()](tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#L11-L13) sends eth to arbitrary user\n\tDangerous calls:\n\t- [msg.sender.send(address(this).balance)](tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#L12)\n",
"first_markdown_element": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#L11-L13", "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#L11-L13",
"id": "51e87e03fc48363e666bb99c1d15beccb50464e1c170eeea5b76ec6fcde643e7", "id": "f0e0b1ffc69d83ae26e2036986f8e50b1fd7b6b38bcd00becc5505cc83ea59f7",
"check": "arbitrary-send-eth", "check": "arbitrary-send-eth",
"impact": "High", "impact": "High",
"confidence": "Medium" "confidence": "Medium"

@ -4,18 +4,18 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "indirect", "name": "direct",
"source_mapping": { "source_mapping": {
"start": 316, "start": 162,
"length": 82, "length": 79,
"filename_relative": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 11,
20, 12,
21 13
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -27,9 +27,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 884, "length": 884,
"filename_relative": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -78,40 +78,40 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "indirect()" "signature": "direct()"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "destination.send(address(this).balance)", "name": "msg.sender.send(address(this).balance)",
"source_mapping": { "source_mapping": {
"start": 352, "start": 196,
"length": 39, "length": 38,
"filename_relative": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
20 12
], ],
"starting_column": 9, "starting_column": 9,
"ending_column": 48 "ending_column": 47
}, },
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "indirect", "name": "direct",
"source_mapping": { "source_mapping": {
"start": 316, "start": 162,
"length": 82, "length": 79,
"filename_relative": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 11,
20, 12,
21 13
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -123,9 +123,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 884, "length": 884,
"filename_relative": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -174,16 +174,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "indirect()" "signature": "direct()"
} }
} }
} }
} }
], ],
"description": "Test.indirect() (tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#19-21) sends eth to arbitrary user\n\tDangerous calls:\n\t- destination.send(address(this).balance) (tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#20)\n", "description": "Test.direct() (tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#11-13) sends eth to arbitrary user\n\tDangerous calls:\n\t- msg.sender.send(address(this).balance) (tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#12)\n",
"markdown": "[Test.indirect()](tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#L19-L21) sends eth to arbitrary user\n\tDangerous calls:\n\t- [destination.send(address(this).balance)](tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#L20)\n", "markdown": "[Test.direct()](tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#L11-L13) sends eth to arbitrary user\n\tDangerous calls:\n\t- [msg.sender.send(address(this).balance)](tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#L12)\n",
"first_markdown_element": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#L19-L21", "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#L11-L13",
"id": "2e1bd6d1260cf35450734eb2027a2d964f61858a3aabd0cb459c22cb4da9956b", "id": "21e5bba25b77457329b8b6b5257f9977083960c2c9b693579477999f9aceacdd",
"check": "arbitrary-send-eth", "check": "arbitrary-send-eth",
"impact": "High", "impact": "High",
"confidence": "Medium" "confidence": "Medium"
@ -192,18 +192,18 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "direct", "name": "indirect",
"source_mapping": { "source_mapping": {
"start": 162, "start": 316,
"length": 79, "length": 82,
"filename_relative": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
11, 19,
12, 20,
13 21
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -215,9 +215,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 884, "length": 884,
"filename_relative": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -266,40 +266,40 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "direct()" "signature": "indirect()"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "msg.sender.send(address(this).balance)", "name": "destination.send(address(this).balance)",
"source_mapping": { "source_mapping": {
"start": 196, "start": 352,
"length": 38, "length": 39,
"filename_relative": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
12 20
], ],
"starting_column": 9, "starting_column": 9,
"ending_column": 47 "ending_column": 48
}, },
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "direct", "name": "indirect",
"source_mapping": { "source_mapping": {
"start": 162, "start": 316,
"length": 79, "length": 82,
"filename_relative": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
11, 19,
12, 20,
13 21
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -311,9 +311,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 884, "length": 884,
"filename_relative": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -362,16 +362,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "direct()" "signature": "indirect()"
} }
} }
} }
} }
], ],
"description": "Test.direct() (tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#11-13) sends eth to arbitrary user\n\tDangerous calls:\n\t- msg.sender.send(address(this).balance) (tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#12)\n", "description": "Test.indirect() (tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#19-21) sends eth to arbitrary user\n\tDangerous calls:\n\t- destination.send(address(this).balance) (tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#20)\n",
"markdown": "[Test.direct()](tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#L11-L13) sends eth to arbitrary user\n\tDangerous calls:\n\t- [msg.sender.send(address(this).balance)](tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#L12)\n", "markdown": "[Test.indirect()](tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#L19-L21) sends eth to arbitrary user\n\tDangerous calls:\n\t- [destination.send(address(this).balance)](tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#L20)\n",
"first_markdown_element": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#L11-L13", "first_markdown_element": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#L19-L21",
"id": "76af03df5e6d33df8978a2cc00dfe944236aca69ad1b7f107580da1b76121082", "id": "6094c4914d5770617670fa1fb7e3debc390308148f7957380c6675d4d20ba328",
"check": "arbitrary-send-eth", "check": "arbitrary-send-eth",
"impact": "High", "impact": "High",
"confidence": "Medium" "confidence": "Medium"

@ -8,9 +8,9 @@
"source_mapping": { "source_mapping": {
"start": 855, "start": 855,
"length": 269, "length": 269,
"filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
42, 42,
@ -31,9 +31,9 @@
"source_mapping": { "source_mapping": {
"start": 688, "start": 688,
"length": 440, "length": 440,
"filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
31, 31,
@ -72,9 +72,9 @@
"source_mapping": { "source_mapping": {
"start": 822, "start": 822,
"length": 9, "length": 9,
"filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
39 39
@ -89,9 +89,9 @@
"source_mapping": { "source_mapping": {
"start": 688, "start": 688,
"length": 440, "length": 440,
"filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
31, 31,
@ -129,9 +129,9 @@
"source_mapping": { "source_mapping": {
"start": 571, "start": 571,
"length": 113, "length": 113,
"filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
25, 25,
@ -149,9 +149,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 686, "length": 686,
"filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -192,9 +192,9 @@
} }
} }
], ],
"description": "D.f() (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#42-48) passes array D.x (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#39)by reference to C.setByValueAndReturn(uint256[1]) (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#25-28)which only takes arrays by value\n", "description": "D.f() (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#42-48) passes array D.x (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#39)by reference to C.setByValueAndReturn(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#25-28)which only takes arrays by value\n",
"markdown": "[D.f()](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L42-L48) passes array [D.x](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L39)by reference to [C.setByValueAndReturn(uint256[1])](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L25-L28)which only takes arrays by value\n", "markdown": "[D.f()](tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#L42-L48) passes array [D.x](tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#L39)by reference to [C.setByValueAndReturn(uint256[1])](tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#L25-L28)which only takes arrays by value\n",
"first_markdown_element": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L42-L48", "first_markdown_element": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#L42-L48",
"id": "019912974eabe7e8b1e67ca05b342e5106de13fa93fa0adf599a4259c425bd54", "id": "019912974eabe7e8b1e67ca05b342e5106de13fa93fa0adf599a4259c425bd54",
"check": "array-by-reference", "check": "array-by-reference",
"impact": "High", "impact": "High",
@ -208,9 +208,9 @@
"source_mapping": { "source_mapping": {
"start": 855, "start": 855,
"length": 269, "length": 269,
"filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
42, 42,
@ -231,9 +231,9 @@
"source_mapping": { "source_mapping": {
"start": 688, "start": 688,
"length": 440, "length": 440,
"filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
31, 31,
@ -272,9 +272,9 @@
"source_mapping": { "source_mapping": {
"start": 822, "start": 822,
"length": 9, "length": 9,
"filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
39 39
@ -289,9 +289,9 @@
"source_mapping": { "source_mapping": {
"start": 688, "start": 688,
"length": 440, "length": 440,
"filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
31, 31,
@ -329,9 +329,9 @@
"source_mapping": { "source_mapping": {
"start": 498, "start": 498,
"length": 67, "length": 67,
"filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
21, 21,
@ -348,9 +348,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 686, "length": 686,
"filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -391,9 +391,9 @@
} }
} }
], ],
"description": "D.f() (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#42-48) passes array D.x (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#39)by reference to C.setByValue(uint256[1]) (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#21-23)which only takes arrays by value\n", "description": "D.f() (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#42-48) passes array D.x (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#39)by reference to C.setByValue(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#21-23)which only takes arrays by value\n",
"markdown": "[D.f()](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L42-L48) passes array [D.x](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L39)by reference to [C.setByValue(uint256[1])](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L21-L23)which only takes arrays by value\n", "markdown": "[D.f()](tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#L42-L48) passes array [D.x](tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#L39)by reference to [C.setByValue(uint256[1])](tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#L21-L23)which only takes arrays by value\n",
"first_markdown_element": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L42-L48", "first_markdown_element": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#L42-L48",
"id": "1520955a53c36e391abbaf648a91a5a12d432f0f4746b0a8187d0988a6a66846", "id": "1520955a53c36e391abbaf648a91a5a12d432f0f4746b0a8187d0988a6a66846",
"check": "array-by-reference", "check": "array-by-reference",
"impact": "High", "impact": "High",
@ -407,9 +407,9 @@
"source_mapping": { "source_mapping": {
"start": 40, "start": 40,
"length": 167, "length": 167,
"filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
4, 4,
@ -428,9 +428,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 686, "length": 686,
"filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -476,9 +476,9 @@
"source_mapping": { "source_mapping": {
"start": 17, "start": 17,
"length": 16, "length": 16,
"filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
2 2
@ -493,9 +493,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 686, "length": 686,
"filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -540,9 +540,9 @@
"source_mapping": { "source_mapping": {
"start": 498, "start": 498,
"length": 67, "length": 67,
"filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
21, 21,
@ -559,9 +559,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 686, "length": 686,
"filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -602,9 +602,9 @@
} }
} }
], ],
"description": "C.f() (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#4-8) passes array C.x (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#2)by reference to C.setByValue(uint256[1]) (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#21-23)which only takes arrays by value\n", "description": "C.f() (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#4-8) passes array C.x (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#2)by reference to C.setByValue(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#21-23)which only takes arrays by value\n",
"markdown": "[C.f()](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L4-L8) passes array [C.x](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L2)by reference to [C.setByValue(uint256[1])](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L21-L23)which only takes arrays by value\n", "markdown": "[C.f()](tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#L4-L8) passes array [C.x](tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#L2)by reference to [C.setByValue(uint256[1])](tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#L21-L23)which only takes arrays by value\n",
"first_markdown_element": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L4-L8", "first_markdown_element": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#L4-L8",
"id": "79a462bf06ae529ad099f2170100298da30766fcc06884e03436d2b53110d208", "id": "79a462bf06ae529ad099f2170100298da30766fcc06884e03436d2b53110d208",
"check": "array-by-reference", "check": "array-by-reference",
"impact": "High", "impact": "High",
@ -618,9 +618,9 @@
"source_mapping": { "source_mapping": {
"start": 40, "start": 40,
"length": 167, "length": 167,
"filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
4, 4,
@ -639,9 +639,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 686, "length": 686,
"filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -687,9 +687,9 @@
"source_mapping": { "source_mapping": {
"start": 17, "start": 17,
"length": 16, "length": 16,
"filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
2 2
@ -704,9 +704,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 686, "length": 686,
"filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -751,9 +751,9 @@
"source_mapping": { "source_mapping": {
"start": 571, "start": 571,
"length": 113, "length": 113,
"filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
25, 25,
@ -771,9 +771,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 686, "length": 686,
"filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -814,9 +814,9 @@
} }
} }
], ],
"description": "C.f() (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#4-8) passes array C.x (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#2)by reference to C.setByValueAndReturn(uint256[1]) (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#25-28)which only takes arrays by value\n", "description": "C.f() (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#4-8) passes array C.x (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#2)by reference to C.setByValueAndReturn(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#25-28)which only takes arrays by value\n",
"markdown": "[C.f()](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L4-L8) passes array [C.x](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L2)by reference to [C.setByValueAndReturn(uint256[1])](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L25-L28)which only takes arrays by value\n", "markdown": "[C.f()](tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#L4-L8) passes array [C.x](tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#L2)by reference to [C.setByValueAndReturn(uint256[1])](tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#L25-L28)which only takes arrays by value\n",
"first_markdown_element": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L4-L8", "first_markdown_element": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#L4-L8",
"id": "7f1eda9be40002affd2e8e31d172d3ee3374f37b1106118c79f4add7a133bbd0", "id": "7f1eda9be40002affd2e8e31d172d3ee3374f37b1106118c79f4add7a133bbd0",
"check": "array-by-reference", "check": "array-by-reference",
"impact": "High", "impact": "High",
@ -830,9 +830,9 @@
"source_mapping": { "source_mapping": {
"start": 213, "start": 213,
"length": 198, "length": 198,
"filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
10, 10,
@ -852,9 +852,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 686, "length": 686,
"filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -900,9 +900,9 @@
"source_mapping": { "source_mapping": {
"start": 243, "start": 243,
"length": 21, "length": 21,
"filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
11 11
@ -917,9 +917,9 @@
"source_mapping": { "source_mapping": {
"start": 213, "start": 213,
"length": 198, "length": 198,
"filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
10, 10,
@ -939,9 +939,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 686, "length": 686,
"filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -989,9 +989,9 @@
"source_mapping": { "source_mapping": {
"start": 571, "start": 571,
"length": 113, "length": 113,
"filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
25, 25,
@ -1009,9 +1009,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 686, "length": 686,
"filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -1052,9 +1052,9 @@
} }
} }
], ],
"description": "C.g() (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#10-15) passes array C.g().y (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#11)by reference to C.setByValueAndReturn(uint256[1]) (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#25-28)which only takes arrays by value\n", "description": "C.g() (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#10-15) passes array C.g().y (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#11)by reference to C.setByValueAndReturn(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#25-28)which only takes arrays by value\n",
"markdown": "[C.g()](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L10-L15) passes array [C.g().y](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L11)by reference to [C.setByValueAndReturn(uint256[1])](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L25-L28)which only takes arrays by value\n", "markdown": "[C.g()](tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#L10-L15) passes array [C.g().y](tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#L11)by reference to [C.setByValueAndReturn(uint256[1])](tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#L25-L28)which only takes arrays by value\n",
"first_markdown_element": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L10-L15", "first_markdown_element": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#L10-L15",
"id": "8655e8acd84a6e8152acd2d9730ea0dfdda0723e09b2dcbfdbbeb8da8bd04fa5", "id": "8655e8acd84a6e8152acd2d9730ea0dfdda0723e09b2dcbfdbbeb8da8bd04fa5",
"check": "array-by-reference", "check": "array-by-reference",
"impact": "High", "impact": "High",
@ -1068,9 +1068,9 @@
"source_mapping": { "source_mapping": {
"start": 213, "start": 213,
"length": 198, "length": 198,
"filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
10, 10,
@ -1090,9 +1090,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 686, "length": 686,
"filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -1138,9 +1138,9 @@
"source_mapping": { "source_mapping": {
"start": 243, "start": 243,
"length": 21, "length": 21,
"filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
11 11
@ -1155,9 +1155,9 @@
"source_mapping": { "source_mapping": {
"start": 213, "start": 213,
"length": 198, "length": 198,
"filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
10, 10,
@ -1177,9 +1177,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 686, "length": 686,
"filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -1227,9 +1227,9 @@
"source_mapping": { "source_mapping": {
"start": 498, "start": 498,
"length": 67, "length": 67,
"filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
21, 21,
@ -1246,9 +1246,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 686, "length": 686,
"filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -1289,9 +1289,9 @@
} }
} }
], ],
"description": "C.g() (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#10-15) passes array C.g().y (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#11)by reference to C.setByValue(uint256[1]) (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#21-23)which only takes arrays by value\n", "description": "C.g() (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#10-15) passes array C.g().y (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#11)by reference to C.setByValue(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#21-23)which only takes arrays by value\n",
"markdown": "[C.g()](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L10-L15) passes array [C.g().y](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L11)by reference to [C.setByValue(uint256[1])](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L21-L23)which only takes arrays by value\n", "markdown": "[C.g()](tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#L10-L15) passes array [C.g().y](tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#L11)by reference to [C.setByValue(uint256[1])](tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#L21-L23)which only takes arrays by value\n",
"first_markdown_element": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L10-L15", "first_markdown_element": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol#L10-L15",
"id": "d039169712808e785bf2e53f322c1c6fcd6b93a0a0c17f1a701addd09ed83996", "id": "d039169712808e785bf2e53f322c1c6fcd6b93a0a0c17f1a701addd09ed83996",
"check": "array-by-reference", "check": "array-by-reference",
"impact": "High", "impact": "High",

@ -8,9 +8,9 @@
"source_mapping": { "source_mapping": {
"start": 869, "start": 869,
"length": 269, "length": 269,
"filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
42, 42,
@ -31,9 +31,9 @@
"source_mapping": { "source_mapping": {
"start": 702, "start": 702,
"length": 440, "length": 440,
"filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
31, 31,
@ -72,9 +72,9 @@
"source_mapping": { "source_mapping": {
"start": 836, "start": 836,
"length": 9, "length": 9,
"filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
39 39
@ -89,9 +89,9 @@
"source_mapping": { "source_mapping": {
"start": 702, "start": 702,
"length": 440, "length": 440,
"filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
31, 31,
@ -129,9 +129,9 @@
"source_mapping": { "source_mapping": {
"start": 578, "start": 578,
"length": 120, "length": 120,
"filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
25, 25,
@ -149,9 +149,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 700, "length": 700,
"filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -192,9 +192,9 @@
} }
} }
], ],
"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", "description": "D.f() (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#42-48) passes array D.x (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#39)by reference to C.setByValueAndReturn(uint256[1]) (tests/e2e/detectors/test_data/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", "markdown": "[D.f()](tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#L42-L48) passes array [D.x](tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#L39)by reference to [C.setByValueAndReturn(uint256[1])](tests/e2e/detectors/test_data/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", "first_markdown_element": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#L42-L48",
"id": "019912974eabe7e8b1e67ca05b342e5106de13fa93fa0adf599a4259c425bd54", "id": "019912974eabe7e8b1e67ca05b342e5106de13fa93fa0adf599a4259c425bd54",
"check": "array-by-reference", "check": "array-by-reference",
"impact": "High", "impact": "High",
@ -208,9 +208,9 @@
"source_mapping": { "source_mapping": {
"start": 869, "start": 869,
"length": 269, "length": 269,
"filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
42, 42,
@ -231,9 +231,9 @@
"source_mapping": { "source_mapping": {
"start": 702, "start": 702,
"length": 440, "length": 440,
"filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
31, 31,
@ -272,9 +272,9 @@
"source_mapping": { "source_mapping": {
"start": 836, "start": 836,
"length": 9, "length": 9,
"filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
39 39
@ -289,9 +289,9 @@
"source_mapping": { "source_mapping": {
"start": 702, "start": 702,
"length": 440, "length": 440,
"filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
31, 31,
@ -329,9 +329,9 @@
"source_mapping": { "source_mapping": {
"start": 498, "start": 498,
"length": 74, "length": 74,
"filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
21, 21,
@ -348,9 +348,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 700, "length": 700,
"filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -391,9 +391,9 @@
} }
} }
], ],
"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", "description": "D.f() (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#42-48) passes array D.x (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#39)by reference to C.setByValue(uint256[1]) (tests/e2e/detectors/test_data/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", "markdown": "[D.f()](tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#L42-L48) passes array [D.x](tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#L39)by reference to [C.setByValue(uint256[1])](tests/e2e/detectors/test_data/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", "first_markdown_element": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#L42-L48",
"id": "1520955a53c36e391abbaf648a91a5a12d432f0f4746b0a8187d0988a6a66846", "id": "1520955a53c36e391abbaf648a91a5a12d432f0f4746b0a8187d0988a6a66846",
"check": "array-by-reference", "check": "array-by-reference",
"impact": "High", "impact": "High",
@ -407,9 +407,9 @@
"source_mapping": { "source_mapping": {
"start": 40, "start": 40,
"length": 167, "length": 167,
"filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
4, 4,
@ -428,9 +428,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 700, "length": 700,
"filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -476,9 +476,9 @@
"source_mapping": { "source_mapping": {
"start": 17, "start": 17,
"length": 16, "length": 16,
"filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
2 2
@ -493,9 +493,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 700, "length": 700,
"filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -540,9 +540,9 @@
"source_mapping": { "source_mapping": {
"start": 498, "start": 498,
"length": 74, "length": 74,
"filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
21, 21,
@ -559,9 +559,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 700, "length": 700,
"filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -602,9 +602,9 @@
} }
} }
], ],
"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", "description": "C.f() (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#4-8) passes array C.x (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#2)by reference to C.setByValue(uint256[1]) (tests/e2e/detectors/test_data/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", "markdown": "[C.f()](tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#L4-L8) passes array [C.x](tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#L2)by reference to [C.setByValue(uint256[1])](tests/e2e/detectors/test_data/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", "first_markdown_element": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#L4-L8",
"id": "79a462bf06ae529ad099f2170100298da30766fcc06884e03436d2b53110d208", "id": "79a462bf06ae529ad099f2170100298da30766fcc06884e03436d2b53110d208",
"check": "array-by-reference", "check": "array-by-reference",
"impact": "High", "impact": "High",
@ -618,9 +618,9 @@
"source_mapping": { "source_mapping": {
"start": 40, "start": 40,
"length": 167, "length": 167,
"filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
4, 4,
@ -639,9 +639,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 700, "length": 700,
"filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -687,9 +687,9 @@
"source_mapping": { "source_mapping": {
"start": 17, "start": 17,
"length": 16, "length": 16,
"filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
2 2
@ -704,9 +704,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 700, "length": 700,
"filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -751,9 +751,9 @@
"source_mapping": { "source_mapping": {
"start": 578, "start": 578,
"length": 120, "length": 120,
"filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
25, 25,
@ -771,9 +771,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 700, "length": 700,
"filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -814,9 +814,9 @@
} }
} }
], ],
"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", "description": "C.f() (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#4-8) passes array C.x (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#2)by reference to C.setByValueAndReturn(uint256[1]) (tests/e2e/detectors/test_data/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", "markdown": "[C.f()](tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#L4-L8) passes array [C.x](tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#L2)by reference to [C.setByValueAndReturn(uint256[1])](tests/e2e/detectors/test_data/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", "first_markdown_element": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#L4-L8",
"id": "7f1eda9be40002affd2e8e31d172d3ee3374f37b1106118c79f4add7a133bbd0", "id": "7f1eda9be40002affd2e8e31d172d3ee3374f37b1106118c79f4add7a133bbd0",
"check": "array-by-reference", "check": "array-by-reference",
"impact": "High", "impact": "High",
@ -830,9 +830,9 @@
"source_mapping": { "source_mapping": {
"start": 213, "start": 213,
"length": 198, "length": 198,
"filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
10, 10,
@ -852,9 +852,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 700, "length": 700,
"filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -900,9 +900,9 @@
"source_mapping": { "source_mapping": {
"start": 243, "start": 243,
"length": 21, "length": 21,
"filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
11 11
@ -917,9 +917,9 @@
"source_mapping": { "source_mapping": {
"start": 213, "start": 213,
"length": 198, "length": 198,
"filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
10, 10,
@ -939,9 +939,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 700, "length": 700,
"filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -989,9 +989,9 @@
"source_mapping": { "source_mapping": {
"start": 578, "start": 578,
"length": 120, "length": 120,
"filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
25, 25,
@ -1009,9 +1009,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 700, "length": 700,
"filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -1052,9 +1052,9 @@
} }
} }
], ],
"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", "description": "C.g() (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#10-15) passes array C.g().y (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#11)by reference to C.setByValueAndReturn(uint256[1]) (tests/e2e/detectors/test_data/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", "markdown": "[C.g()](tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#L10-L15) passes array [C.g().y](tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#L11)by reference to [C.setByValueAndReturn(uint256[1])](tests/e2e/detectors/test_data/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", "first_markdown_element": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#L10-L15",
"id": "8655e8acd84a6e8152acd2d9730ea0dfdda0723e09b2dcbfdbbeb8da8bd04fa5", "id": "8655e8acd84a6e8152acd2d9730ea0dfdda0723e09b2dcbfdbbeb8da8bd04fa5",
"check": "array-by-reference", "check": "array-by-reference",
"impact": "High", "impact": "High",
@ -1068,9 +1068,9 @@
"source_mapping": { "source_mapping": {
"start": 213, "start": 213,
"length": 198, "length": 198,
"filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
10, 10,
@ -1090,9 +1090,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 700, "length": 700,
"filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -1138,9 +1138,9 @@
"source_mapping": { "source_mapping": {
"start": 243, "start": 243,
"length": 21, "length": 21,
"filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
11 11
@ -1155,9 +1155,9 @@
"source_mapping": { "source_mapping": {
"start": 213, "start": 213,
"length": 198, "length": 198,
"filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
10, 10,
@ -1177,9 +1177,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 700, "length": 700,
"filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -1227,9 +1227,9 @@
"source_mapping": { "source_mapping": {
"start": 498, "start": 498,
"length": 74, "length": 74,
"filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
21, 21,
@ -1246,9 +1246,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 700, "length": 700,
"filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -1289,9 +1289,9 @@
} }
} }
], ],
"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", "description": "C.g() (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#10-15) passes array C.g().y (tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#11)by reference to C.setByValue(uint256[1]) (tests/e2e/detectors/test_data/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", "markdown": "[C.g()](tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#L10-L15) passes array [C.g().y](tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#L11)by reference to [C.setByValue(uint256[1])](tests/e2e/detectors/test_data/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", "first_markdown_element": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol#L10-L15",
"id": "d039169712808e785bf2e53f322c1c6fcd6b93a0a0c17f1a701addd09ed83996", "id": "d039169712808e785bf2e53f322c1c6fcd6b93a0a0c17f1a701addd09ed83996",
"check": "array-by-reference", "check": "array-by-reference",
"impact": "High", "impact": "High",

@ -8,9 +8,9 @@
"source_mapping": { "source_mapping": {
"start": 869, "start": 869,
"length": 269, "length": 269,
"filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
42, 42,
@ -31,9 +31,9 @@
"source_mapping": { "source_mapping": {
"start": 702, "start": 702,
"length": 440, "length": 440,
"filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
31, 31,
@ -72,9 +72,9 @@
"source_mapping": { "source_mapping": {
"start": 836, "start": 836,
"length": 9, "length": 9,
"filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
39 39
@ -89,9 +89,9 @@
"source_mapping": { "source_mapping": {
"start": 702, "start": 702,
"length": 440, "length": 440,
"filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
31, 31,
@ -129,9 +129,9 @@
"source_mapping": { "source_mapping": {
"start": 578, "start": 578,
"length": 120, "length": 120,
"filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
25, 25,
@ -149,9 +149,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 700, "length": 700,
"filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -192,9 +192,9 @@
} }
} }
], ],
"description": "D.f() (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#42-48) passes array D.x (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#39)by reference to C.setByValueAndReturn(uint256[1]) (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#25-28)which only takes arrays by value\n", "description": "D.f() (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#42-48) passes array D.x (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#39)by reference to C.setByValueAndReturn(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#25-28)which only takes arrays by value\n",
"markdown": "[D.f()](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L42-L48) passes array [D.x](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L39)by reference to [C.setByValueAndReturn(uint256[1])](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L25-L28)which only takes arrays by value\n", "markdown": "[D.f()](tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#L42-L48) passes array [D.x](tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#L39)by reference to [C.setByValueAndReturn(uint256[1])](tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#L25-L28)which only takes arrays by value\n",
"first_markdown_element": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L42-L48", "first_markdown_element": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#L42-L48",
"id": "019912974eabe7e8b1e67ca05b342e5106de13fa93fa0adf599a4259c425bd54", "id": "019912974eabe7e8b1e67ca05b342e5106de13fa93fa0adf599a4259c425bd54",
"check": "array-by-reference", "check": "array-by-reference",
"impact": "High", "impact": "High",
@ -208,9 +208,9 @@
"source_mapping": { "source_mapping": {
"start": 869, "start": 869,
"length": 269, "length": 269,
"filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
42, 42,
@ -231,9 +231,9 @@
"source_mapping": { "source_mapping": {
"start": 702, "start": 702,
"length": 440, "length": 440,
"filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
31, 31,
@ -272,9 +272,9 @@
"source_mapping": { "source_mapping": {
"start": 836, "start": 836,
"length": 9, "length": 9,
"filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
39 39
@ -289,9 +289,9 @@
"source_mapping": { "source_mapping": {
"start": 702, "start": 702,
"length": 440, "length": 440,
"filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
31, 31,
@ -329,9 +329,9 @@
"source_mapping": { "source_mapping": {
"start": 498, "start": 498,
"length": 74, "length": 74,
"filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
21, 21,
@ -348,9 +348,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 700, "length": 700,
"filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -391,9 +391,9 @@
} }
} }
], ],
"description": "D.f() (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#42-48) passes array D.x (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#39)by reference to C.setByValue(uint256[1]) (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#21-23)which only takes arrays by value\n", "description": "D.f() (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#42-48) passes array D.x (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#39)by reference to C.setByValue(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#21-23)which only takes arrays by value\n",
"markdown": "[D.f()](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L42-L48) passes array [D.x](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L39)by reference to [C.setByValue(uint256[1])](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L21-L23)which only takes arrays by value\n", "markdown": "[D.f()](tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#L42-L48) passes array [D.x](tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#L39)by reference to [C.setByValue(uint256[1])](tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#L21-L23)which only takes arrays by value\n",
"first_markdown_element": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L42-L48", "first_markdown_element": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#L42-L48",
"id": "1520955a53c36e391abbaf648a91a5a12d432f0f4746b0a8187d0988a6a66846", "id": "1520955a53c36e391abbaf648a91a5a12d432f0f4746b0a8187d0988a6a66846",
"check": "array-by-reference", "check": "array-by-reference",
"impact": "High", "impact": "High",
@ -407,9 +407,9 @@
"source_mapping": { "source_mapping": {
"start": 40, "start": 40,
"length": 167, "length": 167,
"filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
4, 4,
@ -428,9 +428,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 700, "length": 700,
"filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -476,9 +476,9 @@
"source_mapping": { "source_mapping": {
"start": 17, "start": 17,
"length": 16, "length": 16,
"filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
2 2
@ -493,9 +493,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 700, "length": 700,
"filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -540,9 +540,9 @@
"source_mapping": { "source_mapping": {
"start": 498, "start": 498,
"length": 74, "length": 74,
"filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
21, 21,
@ -559,9 +559,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 700, "length": 700,
"filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -602,9 +602,9 @@
} }
} }
], ],
"description": "C.f() (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#4-8) passes array C.x (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#2)by reference to C.setByValue(uint256[1]) (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#21-23)which only takes arrays by value\n", "description": "C.f() (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#4-8) passes array C.x (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#2)by reference to C.setByValue(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#21-23)which only takes arrays by value\n",
"markdown": "[C.f()](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L4-L8) passes array [C.x](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L2)by reference to [C.setByValue(uint256[1])](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L21-L23)which only takes arrays by value\n", "markdown": "[C.f()](tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#L4-L8) passes array [C.x](tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#L2)by reference to [C.setByValue(uint256[1])](tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#L21-L23)which only takes arrays by value\n",
"first_markdown_element": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L4-L8", "first_markdown_element": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#L4-L8",
"id": "79a462bf06ae529ad099f2170100298da30766fcc06884e03436d2b53110d208", "id": "79a462bf06ae529ad099f2170100298da30766fcc06884e03436d2b53110d208",
"check": "array-by-reference", "check": "array-by-reference",
"impact": "High", "impact": "High",
@ -618,9 +618,9 @@
"source_mapping": { "source_mapping": {
"start": 40, "start": 40,
"length": 167, "length": 167,
"filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
4, 4,
@ -639,9 +639,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 700, "length": 700,
"filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -687,9 +687,9 @@
"source_mapping": { "source_mapping": {
"start": 17, "start": 17,
"length": 16, "length": 16,
"filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
2 2
@ -704,9 +704,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 700, "length": 700,
"filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -751,9 +751,9 @@
"source_mapping": { "source_mapping": {
"start": 578, "start": 578,
"length": 120, "length": 120,
"filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
25, 25,
@ -771,9 +771,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 700, "length": 700,
"filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -814,9 +814,9 @@
} }
} }
], ],
"description": "C.f() (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#4-8) passes array C.x (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#2)by reference to C.setByValueAndReturn(uint256[1]) (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#25-28)which only takes arrays by value\n", "description": "C.f() (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#4-8) passes array C.x (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#2)by reference to C.setByValueAndReturn(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#25-28)which only takes arrays by value\n",
"markdown": "[C.f()](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L4-L8) passes array [C.x](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L2)by reference to [C.setByValueAndReturn(uint256[1])](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L25-L28)which only takes arrays by value\n", "markdown": "[C.f()](tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#L4-L8) passes array [C.x](tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#L2)by reference to [C.setByValueAndReturn(uint256[1])](tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#L25-L28)which only takes arrays by value\n",
"first_markdown_element": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L4-L8", "first_markdown_element": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#L4-L8",
"id": "7f1eda9be40002affd2e8e31d172d3ee3374f37b1106118c79f4add7a133bbd0", "id": "7f1eda9be40002affd2e8e31d172d3ee3374f37b1106118c79f4add7a133bbd0",
"check": "array-by-reference", "check": "array-by-reference",
"impact": "High", "impact": "High",
@ -830,9 +830,9 @@
"source_mapping": { "source_mapping": {
"start": 213, "start": 213,
"length": 198, "length": 198,
"filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
10, 10,
@ -852,9 +852,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 700, "length": 700,
"filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -900,9 +900,9 @@
"source_mapping": { "source_mapping": {
"start": 243, "start": 243,
"length": 21, "length": 21,
"filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
11 11
@ -917,9 +917,9 @@
"source_mapping": { "source_mapping": {
"start": 213, "start": 213,
"length": 198, "length": 198,
"filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
10, 10,
@ -939,9 +939,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 700, "length": 700,
"filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -989,9 +989,9 @@
"source_mapping": { "source_mapping": {
"start": 578, "start": 578,
"length": 120, "length": 120,
"filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
25, 25,
@ -1009,9 +1009,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 700, "length": 700,
"filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -1052,9 +1052,9 @@
} }
} }
], ],
"description": "C.g() (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#10-15) passes array C.g().y (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#11)by reference to C.setByValueAndReturn(uint256[1]) (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#25-28)which only takes arrays by value\n", "description": "C.g() (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#10-15) passes array C.g().y (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#11)by reference to C.setByValueAndReturn(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#25-28)which only takes arrays by value\n",
"markdown": "[C.g()](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L10-L15) passes array [C.g().y](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L11)by reference to [C.setByValueAndReturn(uint256[1])](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L25-L28)which only takes arrays by value\n", "markdown": "[C.g()](tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#L10-L15) passes array [C.g().y](tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#L11)by reference to [C.setByValueAndReturn(uint256[1])](tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#L25-L28)which only takes arrays by value\n",
"first_markdown_element": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L10-L15", "first_markdown_element": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#L10-L15",
"id": "8655e8acd84a6e8152acd2d9730ea0dfdda0723e09b2dcbfdbbeb8da8bd04fa5", "id": "8655e8acd84a6e8152acd2d9730ea0dfdda0723e09b2dcbfdbbeb8da8bd04fa5",
"check": "array-by-reference", "check": "array-by-reference",
"impact": "High", "impact": "High",
@ -1068,9 +1068,9 @@
"source_mapping": { "source_mapping": {
"start": 213, "start": 213,
"length": 198, "length": 198,
"filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
10, 10,
@ -1090,9 +1090,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 700, "length": 700,
"filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -1138,9 +1138,9 @@
"source_mapping": { "source_mapping": {
"start": 243, "start": 243,
"length": 21, "length": 21,
"filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
11 11
@ -1155,9 +1155,9 @@
"source_mapping": { "source_mapping": {
"start": 213, "start": 213,
"length": 198, "length": 198,
"filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
10, 10,
@ -1177,9 +1177,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 700, "length": 700,
"filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -1227,9 +1227,9 @@
"source_mapping": { "source_mapping": {
"start": 498, "start": 498,
"length": 74, "length": 74,
"filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
21, 21,
@ -1246,9 +1246,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 700, "length": 700,
"filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -1289,9 +1289,9 @@
} }
} }
], ],
"description": "C.g() (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#10-15) passes array C.g().y (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#11)by reference to C.setByValue(uint256[1]) (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#21-23)which only takes arrays by value\n", "description": "C.g() (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#10-15) passes array C.g().y (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#11)by reference to C.setByValue(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#21-23)which only takes arrays by value\n",
"markdown": "[C.g()](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L10-L15) passes array [C.g().y](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L11)by reference to [C.setByValue(uint256[1])](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L21-L23)which only takes arrays by value\n", "markdown": "[C.g()](tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#L10-L15) passes array [C.g().y](tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#L11)by reference to [C.setByValue(uint256[1])](tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#L21-L23)which only takes arrays by value\n",
"first_markdown_element": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L10-L15", "first_markdown_element": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol#L10-L15",
"id": "d039169712808e785bf2e53f322c1c6fcd6b93a0a0c17f1a701addd09ed83996", "id": "d039169712808e785bf2e53f322c1c6fcd6b93a0a0c17f1a701addd09ed83996",
"check": "array-by-reference", "check": "array-by-reference",
"impact": "High", "impact": "High",

@ -8,9 +8,9 @@
"source_mapping": { "source_mapping": {
"start": 869, "start": 869,
"length": 269, "length": 269,
"filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
42, 42,
@ -31,9 +31,9 @@
"source_mapping": { "source_mapping": {
"start": 702, "start": 702,
"length": 440, "length": 440,
"filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
31, 31,
@ -72,9 +72,9 @@
"source_mapping": { "source_mapping": {
"start": 836, "start": 836,
"length": 9, "length": 9,
"filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
39 39
@ -89,9 +89,9 @@
"source_mapping": { "source_mapping": {
"start": 702, "start": 702,
"length": 440, "length": 440,
"filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
31, 31,
@ -129,9 +129,9 @@
"source_mapping": { "source_mapping": {
"start": 578, "start": 578,
"length": 120, "length": 120,
"filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
25, 25,
@ -149,9 +149,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 700, "length": 700,
"filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -192,9 +192,9 @@
} }
} }
], ],
"description": "D.f() (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#42-48) passes array D.x (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#39)by reference to C.setByValueAndReturn(uint256[1]) (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#25-28)which only takes arrays by value\n", "description": "D.f() (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#42-48) passes array D.x (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#39)by reference to C.setByValueAndReturn(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#25-28)which only takes arrays by value\n",
"markdown": "[D.f()](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L42-L48) passes array [D.x](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L39)by reference to [C.setByValueAndReturn(uint256[1])](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L25-L28)which only takes arrays by value\n", "markdown": "[D.f()](tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#L42-L48) passes array [D.x](tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#L39)by reference to [C.setByValueAndReturn(uint256[1])](tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#L25-L28)which only takes arrays by value\n",
"first_markdown_element": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L42-L48", "first_markdown_element": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#L42-L48",
"id": "019912974eabe7e8b1e67ca05b342e5106de13fa93fa0adf599a4259c425bd54", "id": "019912974eabe7e8b1e67ca05b342e5106de13fa93fa0adf599a4259c425bd54",
"check": "array-by-reference", "check": "array-by-reference",
"impact": "High", "impact": "High",
@ -208,9 +208,9 @@
"source_mapping": { "source_mapping": {
"start": 869, "start": 869,
"length": 269, "length": 269,
"filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
42, 42,
@ -231,9 +231,9 @@
"source_mapping": { "source_mapping": {
"start": 702, "start": 702,
"length": 440, "length": 440,
"filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
31, 31,
@ -272,9 +272,9 @@
"source_mapping": { "source_mapping": {
"start": 836, "start": 836,
"length": 9, "length": 9,
"filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
39 39
@ -289,9 +289,9 @@
"source_mapping": { "source_mapping": {
"start": 702, "start": 702,
"length": 440, "length": 440,
"filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
31, 31,
@ -329,9 +329,9 @@
"source_mapping": { "source_mapping": {
"start": 498, "start": 498,
"length": 74, "length": 74,
"filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
21, 21,
@ -348,9 +348,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 700, "length": 700,
"filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -391,9 +391,9 @@
} }
} }
], ],
"description": "D.f() (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#42-48) passes array D.x (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#39)by reference to C.setByValue(uint256[1]) (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#21-23)which only takes arrays by value\n", "description": "D.f() (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#42-48) passes array D.x (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#39)by reference to C.setByValue(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#21-23)which only takes arrays by value\n",
"markdown": "[D.f()](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L42-L48) passes array [D.x](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L39)by reference to [C.setByValue(uint256[1])](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L21-L23)which only takes arrays by value\n", "markdown": "[D.f()](tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#L42-L48) passes array [D.x](tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#L39)by reference to [C.setByValue(uint256[1])](tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#L21-L23)which only takes arrays by value\n",
"first_markdown_element": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L42-L48", "first_markdown_element": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#L42-L48",
"id": "1520955a53c36e391abbaf648a91a5a12d432f0f4746b0a8187d0988a6a66846", "id": "1520955a53c36e391abbaf648a91a5a12d432f0f4746b0a8187d0988a6a66846",
"check": "array-by-reference", "check": "array-by-reference",
"impact": "High", "impact": "High",
@ -407,9 +407,9 @@
"source_mapping": { "source_mapping": {
"start": 40, "start": 40,
"length": 167, "length": 167,
"filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
4, 4,
@ -428,9 +428,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 700, "length": 700,
"filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -476,9 +476,9 @@
"source_mapping": { "source_mapping": {
"start": 17, "start": 17,
"length": 16, "length": 16,
"filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
2 2
@ -493,9 +493,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 700, "length": 700,
"filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -540,9 +540,9 @@
"source_mapping": { "source_mapping": {
"start": 498, "start": 498,
"length": 74, "length": 74,
"filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
21, 21,
@ -559,9 +559,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 700, "length": 700,
"filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -602,9 +602,9 @@
} }
} }
], ],
"description": "C.f() (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#4-8) passes array C.x (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#2)by reference to C.setByValue(uint256[1]) (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#21-23)which only takes arrays by value\n", "description": "C.f() (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#4-8) passes array C.x (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#2)by reference to C.setByValue(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#21-23)which only takes arrays by value\n",
"markdown": "[C.f()](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L4-L8) passes array [C.x](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L2)by reference to [C.setByValue(uint256[1])](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L21-L23)which only takes arrays by value\n", "markdown": "[C.f()](tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#L4-L8) passes array [C.x](tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#L2)by reference to [C.setByValue(uint256[1])](tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#L21-L23)which only takes arrays by value\n",
"first_markdown_element": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L4-L8", "first_markdown_element": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#L4-L8",
"id": "79a462bf06ae529ad099f2170100298da30766fcc06884e03436d2b53110d208", "id": "79a462bf06ae529ad099f2170100298da30766fcc06884e03436d2b53110d208",
"check": "array-by-reference", "check": "array-by-reference",
"impact": "High", "impact": "High",
@ -618,9 +618,9 @@
"source_mapping": { "source_mapping": {
"start": 40, "start": 40,
"length": 167, "length": 167,
"filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
4, 4,
@ -639,9 +639,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 700, "length": 700,
"filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -687,9 +687,9 @@
"source_mapping": { "source_mapping": {
"start": 17, "start": 17,
"length": 16, "length": 16,
"filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
2 2
@ -704,9 +704,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 700, "length": 700,
"filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -751,9 +751,9 @@
"source_mapping": { "source_mapping": {
"start": 578, "start": 578,
"length": 120, "length": 120,
"filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
25, 25,
@ -771,9 +771,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 700, "length": 700,
"filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -814,9 +814,9 @@
} }
} }
], ],
"description": "C.f() (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#4-8) passes array C.x (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#2)by reference to C.setByValueAndReturn(uint256[1]) (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#25-28)which only takes arrays by value\n", "description": "C.f() (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#4-8) passes array C.x (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#2)by reference to C.setByValueAndReturn(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#25-28)which only takes arrays by value\n",
"markdown": "[C.f()](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L4-L8) passes array [C.x](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L2)by reference to [C.setByValueAndReturn(uint256[1])](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L25-L28)which only takes arrays by value\n", "markdown": "[C.f()](tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#L4-L8) passes array [C.x](tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#L2)by reference to [C.setByValueAndReturn(uint256[1])](tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#L25-L28)which only takes arrays by value\n",
"first_markdown_element": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L4-L8", "first_markdown_element": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#L4-L8",
"id": "7f1eda9be40002affd2e8e31d172d3ee3374f37b1106118c79f4add7a133bbd0", "id": "7f1eda9be40002affd2e8e31d172d3ee3374f37b1106118c79f4add7a133bbd0",
"check": "array-by-reference", "check": "array-by-reference",
"impact": "High", "impact": "High",
@ -830,9 +830,9 @@
"source_mapping": { "source_mapping": {
"start": 213, "start": 213,
"length": 198, "length": 198,
"filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
10, 10,
@ -852,9 +852,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 700, "length": 700,
"filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -900,9 +900,9 @@
"source_mapping": { "source_mapping": {
"start": 243, "start": 243,
"length": 21, "length": 21,
"filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
11 11
@ -917,9 +917,9 @@
"source_mapping": { "source_mapping": {
"start": 213, "start": 213,
"length": 198, "length": 198,
"filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
10, 10,
@ -939,9 +939,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 700, "length": 700,
"filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -989,9 +989,9 @@
"source_mapping": { "source_mapping": {
"start": 578, "start": 578,
"length": 120, "length": 120,
"filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
25, 25,
@ -1009,9 +1009,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 700, "length": 700,
"filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -1052,9 +1052,9 @@
} }
} }
], ],
"description": "C.g() (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#10-15) passes array C.g().y (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#11)by reference to C.setByValueAndReturn(uint256[1]) (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#25-28)which only takes arrays by value\n", "description": "C.g() (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#10-15) passes array C.g().y (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#11)by reference to C.setByValueAndReturn(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#25-28)which only takes arrays by value\n",
"markdown": "[C.g()](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L10-L15) passes array [C.g().y](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L11)by reference to [C.setByValueAndReturn(uint256[1])](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L25-L28)which only takes arrays by value\n", "markdown": "[C.g()](tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#L10-L15) passes array [C.g().y](tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#L11)by reference to [C.setByValueAndReturn(uint256[1])](tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#L25-L28)which only takes arrays by value\n",
"first_markdown_element": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L10-L15", "first_markdown_element": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#L10-L15",
"id": "8655e8acd84a6e8152acd2d9730ea0dfdda0723e09b2dcbfdbbeb8da8bd04fa5", "id": "8655e8acd84a6e8152acd2d9730ea0dfdda0723e09b2dcbfdbbeb8da8bd04fa5",
"check": "array-by-reference", "check": "array-by-reference",
"impact": "High", "impact": "High",
@ -1068,9 +1068,9 @@
"source_mapping": { "source_mapping": {
"start": 213, "start": 213,
"length": 198, "length": 198,
"filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
10, 10,
@ -1090,9 +1090,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 700, "length": 700,
"filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -1138,9 +1138,9 @@
"source_mapping": { "source_mapping": {
"start": 243, "start": 243,
"length": 21, "length": 21,
"filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
11 11
@ -1155,9 +1155,9 @@
"source_mapping": { "source_mapping": {
"start": 213, "start": 213,
"length": 198, "length": 198,
"filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
10, 10,
@ -1177,9 +1177,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 700, "length": 700,
"filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -1227,9 +1227,9 @@
"source_mapping": { "source_mapping": {
"start": 498, "start": 498,
"length": 74, "length": 74,
"filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
21, 21,
@ -1246,9 +1246,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 700, "length": 700,
"filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -1289,9 +1289,9 @@
} }
} }
], ],
"description": "C.g() (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#10-15) passes array C.g().y (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#11)by reference to C.setByValue(uint256[1]) (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#21-23)which only takes arrays by value\n", "description": "C.g() (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#10-15) passes array C.g().y (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#11)by reference to C.setByValue(uint256[1]) (tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#21-23)which only takes arrays by value\n",
"markdown": "[C.g()](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L10-L15) passes array [C.g().y](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L11)by reference to [C.setByValue(uint256[1])](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L21-L23)which only takes arrays by value\n", "markdown": "[C.g()](tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#L10-L15) passes array [C.g().y](tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#L11)by reference to [C.setByValue(uint256[1])](tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#L21-L23)which only takes arrays by value\n",
"first_markdown_element": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L10-L15", "first_markdown_element": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol#L10-L15",
"id": "d039169712808e785bf2e53f322c1c6fcd6b93a0a0c17f1a701addd09ed83996", "id": "d039169712808e785bf2e53f322c1c6fcd6b93a0a0c17f1a701addd09ed83996",
"check": "array-by-reference", "check": "array-by-reference",
"impact": "High", "impact": "High",

@ -8,9 +8,9 @@
"source_mapping": { "source_mapping": {
"start": 119, "start": 119,
"length": 700, "length": 700,
"filename_relative": "tests/detectors/assembly/0.4.25/inline_assembly_contract.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.4.25/inline_assembly_contract.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
6, 6,
@ -39,9 +39,9 @@
"source_mapping": { "source_mapping": {
"start": 97, "start": 97,
"length": 724, "length": 724,
"filename_relative": "tests/detectors/assembly/0.4.25/inline_assembly_contract.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.4.25/inline_assembly_contract.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
5, 5,
@ -75,9 +75,9 @@
"source_mapping": { "source_mapping": {
"start": 191, "start": 191,
"length": 628, "length": 628,
"filename_relative": "tests/detectors/assembly/0.4.25/inline_assembly_contract.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.4.25/inline_assembly_contract.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
7, 7,
@ -105,9 +105,9 @@
"source_mapping": { "source_mapping": {
"start": 119, "start": 119,
"length": 700, "length": 700,
"filename_relative": "tests/detectors/assembly/0.4.25/inline_assembly_contract.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.4.25/inline_assembly_contract.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
6, 6,
@ -136,9 +136,9 @@
"source_mapping": { "source_mapping": {
"start": 97, "start": 97,
"length": 724, "length": 724,
"filename_relative": "tests/detectors/assembly/0.4.25/inline_assembly_contract.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.4.25/inline_assembly_contract.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
5, 5,
@ -169,10 +169,10 @@
} }
} }
], ],
"description": "GetCode.at(address) (tests/detectors/assembly/0.4.25/inline_assembly_contract.sol#6-20) uses assembly\n\t- INLINE ASM (tests/detectors/assembly/0.4.25/inline_assembly_contract.sol#7-20)\n", "description": "GetCode.at(address) (tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol#6-20) uses assembly\n\t- INLINE ASM (tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol#7-20)\n",
"markdown": "[GetCode.at(address)](tests/detectors/assembly/0.4.25/inline_assembly_contract.sol#L6-L20) uses assembly\n\t- [INLINE ASM](tests/detectors/assembly/0.4.25/inline_assembly_contract.sol#L7-L20)\n", "markdown": "[GetCode.at(address)](tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol#L6-L20) uses assembly\n\t- [INLINE ASM](tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol#L7-L20)\n",
"first_markdown_element": "tests/detectors/assembly/0.4.25/inline_assembly_contract.sol#L6-L20", "first_markdown_element": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol#L6-L20",
"id": "37ca62e9af93d1648d3a1aa845426ec5395eab836277e3a8baa52621bf1df7c3", "id": "a5eefe2a5488a11d79ceabd14aa54ce8edc1de512b733d39c25a38909a64bcf6",
"check": "assembly", "check": "assembly",
"impact": "Informational", "impact": "Informational",
"confidence": "High" "confidence": "High"

@ -4,22 +4,38 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "sumAsm", "name": "sumPureAsm",
"source_mapping": { "source_mapping": {
"start": 593, "start": 923,
"length": 247, "length": 754,
"filename_relative": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
16, 25,
17, 26,
18, 27,
19, 28,
20, 29,
21, 30,
22 31,
32,
33,
34,
35,
36,
37,
38,
39,
40,
41,
42,
43,
44,
45,
46,
47
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -31,9 +47,9 @@
"source_mapping": { "source_mapping": {
"start": 98, "start": 98,
"length": 1581, "length": 1581,
"filename_relative": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
5, 5,
@ -85,47 +101,81 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "sumAsm(uint256[])" "signature": "sumPureAsm(uint256[])"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "", "name": "",
"source_mapping": { "source_mapping": {
"start": 720, "start": 1000,
"length": 114, "length": 677,
"filename_relative": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
18, 26,
19, 27,
20, 28,
21 29,
30,
31,
32,
33,
34,
35,
36,
37,
38,
39,
40,
41,
42,
43,
44,
45,
46,
47
], ],
"starting_column": 13, "starting_column": 9,
"ending_column": 10 "ending_column": 6
}, },
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "sumAsm", "name": "sumPureAsm",
"source_mapping": { "source_mapping": {
"start": 593, "start": 923,
"length": 247, "length": 754,
"filename_relative": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
16, 25,
17, 26,
18, 27,
19, 28,
20, 29,
21, 30,
22 31,
32,
33,
34,
35,
36,
37,
38,
39,
40,
41,
42,
43,
44,
45,
46,
47
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -137,9 +187,9 @@
"source_mapping": { "source_mapping": {
"start": 98, "start": 98,
"length": 1581, "length": 1581,
"filename_relative": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
5, 5,
@ -191,16 +241,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "sumAsm(uint256[])" "signature": "sumPureAsm(uint256[])"
} }
} }
} }
} }
], ],
"description": "VectorSum.sumAsm(uint256[]) (tests/detectors/assembly/0.4.25/inline_assembly_library.sol#16-22) uses assembly\n\t- INLINE ASM (tests/detectors/assembly/0.4.25/inline_assembly_library.sol#18-21)\n", "description": "VectorSum.sumPureAsm(uint256[]) (tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol#25-47) uses assembly\n\t- INLINE ASM (tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol#26-47)\n",
"markdown": "[VectorSum.sumAsm(uint256[])](tests/detectors/assembly/0.4.25/inline_assembly_library.sol#L16-L22) uses assembly\n\t- [INLINE ASM](tests/detectors/assembly/0.4.25/inline_assembly_library.sol#L18-L21)\n", "markdown": "[VectorSum.sumPureAsm(uint256[])](tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol#L25-L47) uses assembly\n\t- [INLINE ASM](tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol#L26-L47)\n",
"first_markdown_element": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol#L16-L22", "first_markdown_element": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol#L25-L47",
"id": "7009ef6498fa29901fbf3e9e1971a19f6fa48c87be3b2592c632e05a4321e1d3", "id": "31db8c5aa923499030eeaff5c0eb368570cb2e9e497a982b5325ded49b9ed6b9",
"check": "assembly", "check": "assembly",
"impact": "Informational", "impact": "Informational",
"confidence": "High" "confidence": "High"
@ -209,38 +259,22 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "sumPureAsm", "name": "sumAsm",
"source_mapping": { "source_mapping": {
"start": 923, "start": 593,
"length": 754, "length": 247,
"filename_relative": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
25, 16,
26, 17,
27, 18,
28, 19,
29, 20,
30, 21,
31, 22
32,
33,
34,
35,
36,
37,
38,
39,
40,
41,
42,
43,
44,
45,
46,
47
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -252,9 +286,9 @@
"source_mapping": { "source_mapping": {
"start": 98, "start": 98,
"length": 1581, "length": 1581,
"filename_relative": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
5, 5,
@ -306,81 +340,47 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "sumPureAsm(uint256[])" "signature": "sumAsm(uint256[])"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "", "name": "",
"source_mapping": { "source_mapping": {
"start": 1000, "start": 720,
"length": 677, "length": 114,
"filename_relative": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
26, 18,
27, 19,
28, 20,
29, 21
30,
31,
32,
33,
34,
35,
36,
37,
38,
39,
40,
41,
42,
43,
44,
45,
46,
47
], ],
"starting_column": 9, "starting_column": 13,
"ending_column": 6 "ending_column": 10
}, },
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "sumPureAsm", "name": "sumAsm",
"source_mapping": { "source_mapping": {
"start": 923, "start": 593,
"length": 754, "length": 247,
"filename_relative": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
25, 16,
26, 17,
27, 18,
28, 19,
29, 20,
30, 21,
31, 22
32,
33,
34,
35,
36,
37,
38,
39,
40,
41,
42,
43,
44,
45,
46,
47
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -392,9 +392,9 @@
"source_mapping": { "source_mapping": {
"start": 98, "start": 98,
"length": 1581, "length": 1581,
"filename_relative": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
5, 5,
@ -446,16 +446,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "sumPureAsm(uint256[])" "signature": "sumAsm(uint256[])"
} }
} }
} }
} }
], ],
"description": "VectorSum.sumPureAsm(uint256[]) (tests/detectors/assembly/0.4.25/inline_assembly_library.sol#25-47) uses assembly\n\t- INLINE ASM (tests/detectors/assembly/0.4.25/inline_assembly_library.sol#26-47)\n", "description": "VectorSum.sumAsm(uint256[]) (tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol#16-22) uses assembly\n\t- INLINE ASM (tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol#18-21)\n",
"markdown": "[VectorSum.sumPureAsm(uint256[])](tests/detectors/assembly/0.4.25/inline_assembly_library.sol#L25-L47) uses assembly\n\t- [INLINE ASM](tests/detectors/assembly/0.4.25/inline_assembly_library.sol#L26-L47)\n", "markdown": "[VectorSum.sumAsm(uint256[])](tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol#L16-L22) uses assembly\n\t- [INLINE ASM](tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol#L18-L21)\n",
"first_markdown_element": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol#L25-L47", "first_markdown_element": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol#L16-L22",
"id": "e6c5e2eab9e98c206f4092988fc006a6333e737680610667cba168fe739a3cf6", "id": "a5b0d4efa6e09d7f5c00cc759efb20a0f423ad31277f4362952371e2e7f03b78",
"check": "assembly", "check": "assembly",
"impact": "Informational", "impact": "Informational",
"confidence": "High" "confidence": "High"

@ -8,9 +8,9 @@
"source_mapping": { "source_mapping": {
"start": 119, "start": 119,
"length": 707, "length": 707,
"filename_relative": "tests/detectors/assembly/0.5.16/inline_assembly_contract.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.5.16/inline_assembly_contract.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
6, 6,
@ -39,9 +39,9 @@
"source_mapping": { "source_mapping": {
"start": 97, "start": 97,
"length": 731, "length": 731,
"filename_relative": "tests/detectors/assembly/0.5.16/inline_assembly_contract.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.5.16/inline_assembly_contract.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
5, 5,
@ -75,9 +75,9 @@
"source_mapping": { "source_mapping": {
"start": 198, "start": 198,
"length": 622, "length": 622,
"filename_relative": "tests/detectors/assembly/0.5.16/inline_assembly_contract.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.5.16/inline_assembly_contract.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
7, 7,
@ -104,9 +104,9 @@
"source_mapping": { "source_mapping": {
"start": 119, "start": 119,
"length": 707, "length": 707,
"filename_relative": "tests/detectors/assembly/0.5.16/inline_assembly_contract.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.5.16/inline_assembly_contract.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
6, 6,
@ -135,9 +135,9 @@
"source_mapping": { "source_mapping": {
"start": 97, "start": 97,
"length": 731, "length": 731,
"filename_relative": "tests/detectors/assembly/0.5.16/inline_assembly_contract.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.5.16/inline_assembly_contract.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
5, 5,
@ -168,10 +168,10 @@
} }
} }
], ],
"description": "GetCode.at(address) (tests/detectors/assembly/0.5.16/inline_assembly_contract.sol#6-20) uses assembly\n\t- INLINE ASM (tests/detectors/assembly/0.5.16/inline_assembly_contract.sol#7-19)\n", "description": "GetCode.at(address) (tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol#6-20) uses assembly\n\t- INLINE ASM (tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol#7-19)\n",
"markdown": "[GetCode.at(address)](tests/detectors/assembly/0.5.16/inline_assembly_contract.sol#L6-L20) uses assembly\n\t- [INLINE ASM](tests/detectors/assembly/0.5.16/inline_assembly_contract.sol#L7-L19)\n", "markdown": "[GetCode.at(address)](tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol#L6-L20) uses assembly\n\t- [INLINE ASM](tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol#L7-L19)\n",
"first_markdown_element": "tests/detectors/assembly/0.5.16/inline_assembly_contract.sol#L6-L20", "first_markdown_element": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol#L6-L20",
"id": "ac5f8f89c2d7459785200d5d861616e04a1bbcfbb2a39cef8bef6a03222c7c21", "id": "7e730dca96d8dd17fdd704eb383af584599385cf12fd7a6d70c64fca8a0c49d5",
"check": "assembly", "check": "assembly",
"impact": "Informational", "impact": "Informational",
"confidence": "High" "confidence": "High"

@ -8,9 +8,9 @@
"source_mapping": { "source_mapping": {
"start": 599, "start": 599,
"length": 254, "length": 254,
"filename_relative": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
16, 16,
@ -31,9 +31,9 @@
"source_mapping": { "source_mapping": {
"start": 97, "start": 97,
"length": 1602, "length": 1602,
"filename_relative": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
5, 5,
@ -94,9 +94,9 @@
"source_mapping": { "source_mapping": {
"start": 733, "start": 733,
"length": 104, "length": 104,
"filename_relative": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
18, 18,
@ -113,9 +113,9 @@
"source_mapping": { "source_mapping": {
"start": 599, "start": 599,
"length": 254, "length": 254,
"filename_relative": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
16, 16,
@ -136,9 +136,9 @@
"source_mapping": { "source_mapping": {
"start": 97, "start": 97,
"length": 1602, "length": 1602,
"filename_relative": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
5, 5,
@ -196,10 +196,10 @@
} }
} }
], ],
"description": "VectorSum.sumAsm(uint256[]) (tests/detectors/assembly/0.5.16/inline_assembly_library.sol#16-22) uses assembly\n\t- INLINE ASM (tests/detectors/assembly/0.5.16/inline_assembly_library.sol#18-20)\n", "description": "VectorSum.sumAsm(uint256[]) (tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol#16-22) uses assembly\n\t- INLINE ASM (tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol#18-20)\n",
"markdown": "[VectorSum.sumAsm(uint256[])](tests/detectors/assembly/0.5.16/inline_assembly_library.sol#L16-L22) uses assembly\n\t- [INLINE ASM](tests/detectors/assembly/0.5.16/inline_assembly_library.sol#L18-L20)\n", "markdown": "[VectorSum.sumAsm(uint256[])](tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol#L16-L22) uses assembly\n\t- [INLINE ASM](tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol#L18-L20)\n",
"first_markdown_element": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol#L16-L22", "first_markdown_element": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol#L16-L22",
"id": "abf9dce26719358da77702aa40f23104cc83044d0b1cffb492e318360fb72b6f", "id": "aad9895206cb105eedd9a8327006b68c94866521e678fe76a905398370db9c6c",
"check": "assembly", "check": "assembly",
"impact": "Informational", "impact": "Informational",
"confidence": "High" "confidence": "High"
@ -212,9 +212,9 @@
"source_mapping": { "source_mapping": {
"start": 936, "start": 936,
"length": 761, "length": 761,
"filename_relative": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
25, 25,
@ -251,9 +251,9 @@
"source_mapping": { "source_mapping": {
"start": 97, "start": 97,
"length": 1602, "length": 1602,
"filename_relative": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
5, 5,
@ -314,9 +314,9 @@
"source_mapping": { "source_mapping": {
"start": 1020, "start": 1020,
"length": 671, "length": 671,
"filename_relative": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
26, 26,
@ -351,9 +351,9 @@
"source_mapping": { "source_mapping": {
"start": 936, "start": 936,
"length": 761, "length": 761,
"filename_relative": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
25, 25,
@ -390,9 +390,9 @@
"source_mapping": { "source_mapping": {
"start": 97, "start": 97,
"length": 1602, "length": 1602,
"filename_relative": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
5, 5,
@ -450,10 +450,10 @@
} }
} }
], ],
"description": "VectorSum.sumPureAsm(uint256[]) (tests/detectors/assembly/0.5.16/inline_assembly_library.sol#25-47) uses assembly\n\t- INLINE ASM (tests/detectors/assembly/0.5.16/inline_assembly_library.sol#26-46)\n", "description": "VectorSum.sumPureAsm(uint256[]) (tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol#25-47) uses assembly\n\t- INLINE ASM (tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol#26-46)\n",
"markdown": "[VectorSum.sumPureAsm(uint256[])](tests/detectors/assembly/0.5.16/inline_assembly_library.sol#L25-L47) uses assembly\n\t- [INLINE ASM](tests/detectors/assembly/0.5.16/inline_assembly_library.sol#L26-L46)\n", "markdown": "[VectorSum.sumPureAsm(uint256[])](tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol#L25-L47) uses assembly\n\t- [INLINE ASM](tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol#L26-L46)\n",
"first_markdown_element": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol#L25-L47", "first_markdown_element": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol#L25-L47",
"id": "c0078585e7d2fe02dda5ea48ddb48b40916db51afbee078f77bea648d1aa0315", "id": "d7f5f72e9eb7d7421e9b2dee649d13448ca39c59a5c1150e158e6101e14a4c7d",
"check": "assembly", "check": "assembly",
"impact": "Informational", "impact": "Informational",
"confidence": "High" "confidence": "High"

@ -8,9 +8,9 @@
"source_mapping": { "source_mapping": {
"start": 94, "start": 94,
"length": 707, "length": 707,
"filename_relative": "tests/detectors/assembly/0.6.11/inline_assembly_contract.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.6.11/inline_assembly_contract.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
4, 4,
@ -39,9 +39,9 @@
"source_mapping": { "source_mapping": {
"start": 72, "start": 72,
"length": 731, "length": 731,
"filename_relative": "tests/detectors/assembly/0.6.11/inline_assembly_contract.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.6.11/inline_assembly_contract.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
3, 3,
@ -75,9 +75,9 @@
"source_mapping": { "source_mapping": {
"start": 173, "start": 173,
"length": 622, "length": 622,
"filename_relative": "tests/detectors/assembly/0.6.11/inline_assembly_contract.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.6.11/inline_assembly_contract.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
5, 5,
@ -104,9 +104,9 @@
"source_mapping": { "source_mapping": {
"start": 94, "start": 94,
"length": 707, "length": 707,
"filename_relative": "tests/detectors/assembly/0.6.11/inline_assembly_contract.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.6.11/inline_assembly_contract.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
4, 4,
@ -135,9 +135,9 @@
"source_mapping": { "source_mapping": {
"start": 72, "start": 72,
"length": 731, "length": 731,
"filename_relative": "tests/detectors/assembly/0.6.11/inline_assembly_contract.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.6.11/inline_assembly_contract.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
3, 3,
@ -168,10 +168,10 @@
} }
} }
], ],
"description": "GetCode.at(address) (tests/detectors/assembly/0.6.11/inline_assembly_contract.sol#4-18) uses assembly\n\t- INLINE ASM (tests/detectors/assembly/0.6.11/inline_assembly_contract.sol#5-17)\n", "description": "GetCode.at(address) (tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol#4-18) uses assembly\n\t- INLINE ASM (tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol#5-17)\n",
"markdown": "[GetCode.at(address)](tests/detectors/assembly/0.6.11/inline_assembly_contract.sol#L4-L18) uses assembly\n\t- [INLINE ASM](tests/detectors/assembly/0.6.11/inline_assembly_contract.sol#L5-L17)\n", "markdown": "[GetCode.at(address)](tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol#L4-L18) uses assembly\n\t- [INLINE ASM](tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol#L5-L17)\n",
"first_markdown_element": "tests/detectors/assembly/0.6.11/inline_assembly_contract.sol#L4-L18", "first_markdown_element": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol#L4-L18",
"id": "00e51f7f223289ebaad73cd6e77329b37ff5be360d9a682614cb6b72b8e3d9b4", "id": "9ac1d15ba6758a010743a284c8db880d40b6a09a41e814ec89808c20ae33bd53",
"check": "assembly", "check": "assembly",
"impact": "Informational", "impact": "Informational",
"confidence": "High" "confidence": "High"

@ -4,38 +4,22 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "sumPureAsm", "name": "sumAsm",
"source_mapping": { "source_mapping": {
"start": 911, "start": 574,
"length": 761, "length": 254,
"filename_relative": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
23, 14,
24, 15,
25, 16,
26, 17,
27, 18,
28, 19,
29, 20
30,
31,
32,
33,
34,
35,
36,
37,
38,
39,
40,
41,
42,
43,
44,
45
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -47,9 +31,9 @@
"source_mapping": { "source_mapping": {
"start": 72, "start": 72,
"length": 1602, "length": 1602,
"filename_relative": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
3, 3,
@ -101,80 +85,46 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "sumPureAsm(uint256[])" "signature": "sumAsm(uint256[])"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "", "name": "",
"source_mapping": { "source_mapping": {
"start": 995, "start": 708,
"length": 671, "length": 104,
"filename_relative": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
24, 16,
25, 17,
26, 18
27,
28,
29,
30,
31,
32,
33,
34,
35,
36,
37,
38,
39,
40,
41,
42,
43,
44
], ],
"starting_column": 9, "starting_column": 13,
"ending_column": 10 "ending_column": 14
}, },
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "sumPureAsm", "name": "sumAsm",
"source_mapping": { "source_mapping": {
"start": 911, "start": 574,
"length": 761, "length": 254,
"filename_relative": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
23, 14,
24, 15,
25, 16,
26, 17,
27, 18,
28, 19,
29, 20
30,
31,
32,
33,
34,
35,
36,
37,
38,
39,
40,
41,
42,
43,
44,
45
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -186,9 +136,9 @@
"source_mapping": { "source_mapping": {
"start": 72, "start": 72,
"length": 1602, "length": 1602,
"filename_relative": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
3, 3,
@ -240,16 +190,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "sumPureAsm(uint256[])" "signature": "sumAsm(uint256[])"
} }
} }
} }
} }
], ],
"description": "VectorSum.sumPureAsm(uint256[]) (tests/detectors/assembly/0.6.11/inline_assembly_library.sol#23-45) uses assembly\n\t- INLINE ASM (tests/detectors/assembly/0.6.11/inline_assembly_library.sol#24-44)\n", "description": "VectorSum.sumAsm(uint256[]) (tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol#14-20) uses assembly\n\t- INLINE ASM (tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol#16-18)\n",
"markdown": "[VectorSum.sumPureAsm(uint256[])](tests/detectors/assembly/0.6.11/inline_assembly_library.sol#L23-L45) uses assembly\n\t- [INLINE ASM](tests/detectors/assembly/0.6.11/inline_assembly_library.sol#L24-L44)\n", "markdown": "[VectorSum.sumAsm(uint256[])](tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol#L14-L20) uses assembly\n\t- [INLINE ASM](tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol#L16-L18)\n",
"first_markdown_element": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol#L23-L45", "first_markdown_element": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol#L14-L20",
"id": "5964c7440a9efb78bf78544bcdc60c789e3d9dff73438108bcb07ac98d60876a", "id": "3a556efa86f5a82c92e78104a1aeba089a5af8401b31e183c798c3db5f8a35c1",
"check": "assembly", "check": "assembly",
"impact": "Informational", "impact": "Informational",
"confidence": "High" "confidence": "High"
@ -258,22 +208,38 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "sumAsm", "name": "sumPureAsm",
"source_mapping": { "source_mapping": {
"start": 574, "start": 911,
"length": 254, "length": 761,
"filename_relative": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
14, 23,
15, 24,
16, 25,
17, 26,
18, 27,
19, 28,
20 29,
30,
31,
32,
33,
34,
35,
36,
37,
38,
39,
40,
41,
42,
43,
44,
45
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -285,9 +251,9 @@
"source_mapping": { "source_mapping": {
"start": 72, "start": 72,
"length": 1602, "length": 1602,
"filename_relative": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
3, 3,
@ -339,46 +305,80 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "sumAsm(uint256[])" "signature": "sumPureAsm(uint256[])"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "", "name": "",
"source_mapping": { "source_mapping": {
"start": 708, "start": 995,
"length": 104, "length": 671,
"filename_relative": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
16, 24,
17, 25,
18 26,
27,
28,
29,
30,
31,
32,
33,
34,
35,
36,
37,
38,
39,
40,
41,
42,
43,
44
], ],
"starting_column": 13, "starting_column": 9,
"ending_column": 14 "ending_column": 10
}, },
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "sumAsm", "name": "sumPureAsm",
"source_mapping": { "source_mapping": {
"start": 574, "start": 911,
"length": 254, "length": 761,
"filename_relative": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
14, 23,
15, 24,
16, 25,
17, 26,
18, 27,
19, 28,
20 29,
30,
31,
32,
33,
34,
35,
36,
37,
38,
39,
40,
41,
42,
43,
44,
45
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -390,9 +390,9 @@
"source_mapping": { "source_mapping": {
"start": 72, "start": 72,
"length": 1602, "length": 1602,
"filename_relative": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
3, 3,
@ -444,16 +444,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "sumAsm(uint256[])" "signature": "sumPureAsm(uint256[])"
} }
} }
} }
} }
], ],
"description": "VectorSum.sumAsm(uint256[]) (tests/detectors/assembly/0.6.11/inline_assembly_library.sol#14-20) uses assembly\n\t- INLINE ASM (tests/detectors/assembly/0.6.11/inline_assembly_library.sol#16-18)\n", "description": "VectorSum.sumPureAsm(uint256[]) (tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol#23-45) uses assembly\n\t- INLINE ASM (tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol#24-44)\n",
"markdown": "[VectorSum.sumAsm(uint256[])](tests/detectors/assembly/0.6.11/inline_assembly_library.sol#L14-L20) uses assembly\n\t- [INLINE ASM](tests/detectors/assembly/0.6.11/inline_assembly_library.sol#L16-L18)\n", "markdown": "[VectorSum.sumPureAsm(uint256[])](tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol#L23-L45) uses assembly\n\t- [INLINE ASM](tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol#L24-L44)\n",
"first_markdown_element": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol#L14-L20", "first_markdown_element": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol#L23-L45",
"id": "a8d71513166310212c49c4edecbdf8fbc3040b1cb5b5756f0ad1971ae7d4cdb1", "id": "8bb9c27f9e5cc1884401e4b4157b915e950ab4d2b7610b0e946ab4dd0bb5ef0b",
"check": "assembly", "check": "assembly",
"impact": "Informational", "impact": "Informational",
"confidence": "High" "confidence": "High"

@ -8,9 +8,9 @@
"source_mapping": { "source_mapping": {
"start": 94, "start": 94,
"length": 707, "length": 707,
"filename_relative": "tests/detectors/assembly/0.7.6/inline_assembly_contract.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.7.6/inline_assembly_contract.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
4, 4,
@ -39,9 +39,9 @@
"source_mapping": { "source_mapping": {
"start": 72, "start": 72,
"length": 731, "length": 731,
"filename_relative": "tests/detectors/assembly/0.7.6/inline_assembly_contract.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.7.6/inline_assembly_contract.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
3, 3,
@ -75,9 +75,9 @@
"source_mapping": { "source_mapping": {
"start": 173, "start": 173,
"length": 622, "length": 622,
"filename_relative": "tests/detectors/assembly/0.7.6/inline_assembly_contract.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.7.6/inline_assembly_contract.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
5, 5,
@ -104,9 +104,9 @@
"source_mapping": { "source_mapping": {
"start": 94, "start": 94,
"length": 707, "length": 707,
"filename_relative": "tests/detectors/assembly/0.7.6/inline_assembly_contract.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.7.6/inline_assembly_contract.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
4, 4,
@ -135,9 +135,9 @@
"source_mapping": { "source_mapping": {
"start": 72, "start": 72,
"length": 731, "length": 731,
"filename_relative": "tests/detectors/assembly/0.7.6/inline_assembly_contract.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.7.6/inline_assembly_contract.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
3, 3,
@ -168,10 +168,10 @@
} }
} }
], ],
"description": "GetCode.at(address) (tests/detectors/assembly/0.7.6/inline_assembly_contract.sol#4-18) uses assembly\n\t- INLINE ASM (tests/detectors/assembly/0.7.6/inline_assembly_contract.sol#5-17)\n", "description": "GetCode.at(address) (tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol#4-18) uses assembly\n\t- INLINE ASM (tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol#5-17)\n",
"markdown": "[GetCode.at(address)](tests/detectors/assembly/0.7.6/inline_assembly_contract.sol#L4-L18) uses assembly\n\t- [INLINE ASM](tests/detectors/assembly/0.7.6/inline_assembly_contract.sol#L5-L17)\n", "markdown": "[GetCode.at(address)](tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol#L4-L18) uses assembly\n\t- [INLINE ASM](tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol#L5-L17)\n",
"first_markdown_element": "tests/detectors/assembly/0.7.6/inline_assembly_contract.sol#L4-L18", "first_markdown_element": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol#L4-L18",
"id": "3b2ace4ab64f4fdd4436ae22d38a7db3efe8d2b65dca270af7fb18f281323670", "id": "8572a4fe623eebe88b13623bb1b58a261447fbf761f30bca58f0401703257883",
"check": "assembly", "check": "assembly",
"impact": "Informational", "impact": "Informational",
"confidence": "High" "confidence": "High"

@ -4,38 +4,22 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "sumPureAsm", "name": "sumAsm",
"source_mapping": { "source_mapping": {
"start": 911, "start": 574,
"length": 761, "length": 254,
"filename_relative": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
23, 14,
24, 15,
25, 16,
26, 17,
27, 18,
28, 19,
29, 20
30,
31,
32,
33,
34,
35,
36,
37,
38,
39,
40,
41,
42,
43,
44,
45
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -47,9 +31,9 @@
"source_mapping": { "source_mapping": {
"start": 72, "start": 72,
"length": 1602, "length": 1602,
"filename_relative": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
3, 3,
@ -101,80 +85,46 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "sumPureAsm(uint256[])" "signature": "sumAsm(uint256[])"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "", "name": "",
"source_mapping": { "source_mapping": {
"start": 995, "start": 708,
"length": 671, "length": 104,
"filename_relative": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
24, 16,
25, 17,
26, 18
27,
28,
29,
30,
31,
32,
33,
34,
35,
36,
37,
38,
39,
40,
41,
42,
43,
44
], ],
"starting_column": 9, "starting_column": 13,
"ending_column": 10 "ending_column": 14
}, },
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "sumPureAsm", "name": "sumAsm",
"source_mapping": { "source_mapping": {
"start": 911, "start": 574,
"length": 761, "length": 254,
"filename_relative": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
23, 14,
24, 15,
25, 16,
26, 17,
27, 18,
28, 19,
29, 20
30,
31,
32,
33,
34,
35,
36,
37,
38,
39,
40,
41,
42,
43,
44,
45
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -186,9 +136,9 @@
"source_mapping": { "source_mapping": {
"start": 72, "start": 72,
"length": 1602, "length": 1602,
"filename_relative": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
3, 3,
@ -240,16 +190,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "sumPureAsm(uint256[])" "signature": "sumAsm(uint256[])"
} }
} }
} }
} }
], ],
"description": "VectorSum.sumPureAsm(uint256[]) (tests/detectors/assembly/0.7.6/inline_assembly_library.sol#23-45) uses assembly\n\t- INLINE ASM (tests/detectors/assembly/0.7.6/inline_assembly_library.sol#24-44)\n", "description": "VectorSum.sumAsm(uint256[]) (tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol#14-20) uses assembly\n\t- INLINE ASM (tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol#16-18)\n",
"markdown": "[VectorSum.sumPureAsm(uint256[])](tests/detectors/assembly/0.7.6/inline_assembly_library.sol#L23-L45) uses assembly\n\t- [INLINE ASM](tests/detectors/assembly/0.7.6/inline_assembly_library.sol#L24-L44)\n", "markdown": "[VectorSum.sumAsm(uint256[])](tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol#L14-L20) uses assembly\n\t- [INLINE ASM](tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol#L16-L18)\n",
"first_markdown_element": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol#L23-L45", "first_markdown_element": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol#L14-L20",
"id": "5cafb3e9d7d87c17203cf2c296eeec7de6b774b2a8d71908f8cfc9b8d916cb4b", "id": "01781f60fc7e3b09baa45df51cea8cb01176741056315ec6b32be610b0e4f27f",
"check": "assembly", "check": "assembly",
"impact": "Informational", "impact": "Informational",
"confidence": "High" "confidence": "High"
@ -258,22 +208,38 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "sumAsm", "name": "sumPureAsm",
"source_mapping": { "source_mapping": {
"start": 574, "start": 911,
"length": 254, "length": 761,
"filename_relative": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
14, 23,
15, 24,
16, 25,
17, 26,
18, 27,
19, 28,
20 29,
30,
31,
32,
33,
34,
35,
36,
37,
38,
39,
40,
41,
42,
43,
44,
45
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -285,9 +251,9 @@
"source_mapping": { "source_mapping": {
"start": 72, "start": 72,
"length": 1602, "length": 1602,
"filename_relative": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
3, 3,
@ -339,46 +305,80 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "sumAsm(uint256[])" "signature": "sumPureAsm(uint256[])"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "", "name": "",
"source_mapping": { "source_mapping": {
"start": 708, "start": 995,
"length": 104, "length": 671,
"filename_relative": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
16, 24,
17, 25,
18 26,
27,
28,
29,
30,
31,
32,
33,
34,
35,
36,
37,
38,
39,
40,
41,
42,
43,
44
], ],
"starting_column": 13, "starting_column": 9,
"ending_column": 14 "ending_column": 10
}, },
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "sumAsm", "name": "sumPureAsm",
"source_mapping": { "source_mapping": {
"start": 574, "start": 911,
"length": 254, "length": 761,
"filename_relative": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
14, 23,
15, 24,
16, 25,
17, 26,
18, 27,
19, 28,
20 29,
30,
31,
32,
33,
34,
35,
36,
37,
38,
39,
40,
41,
42,
43,
44,
45
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 6 "ending_column": 6
@ -390,9 +390,9 @@
"source_mapping": { "source_mapping": {
"start": 72, "start": 72,
"length": 1602, "length": 1602,
"filename_relative": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", "filename_relative": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", "filename_short": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
3, 3,
@ -444,16 +444,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "sumAsm(uint256[])" "signature": "sumPureAsm(uint256[])"
} }
} }
} }
} }
], ],
"description": "VectorSum.sumAsm(uint256[]) (tests/detectors/assembly/0.7.6/inline_assembly_library.sol#14-20) uses assembly\n\t- INLINE ASM (tests/detectors/assembly/0.7.6/inline_assembly_library.sol#16-18)\n", "description": "VectorSum.sumPureAsm(uint256[]) (tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol#23-45) uses assembly\n\t- INLINE ASM (tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol#24-44)\n",
"markdown": "[VectorSum.sumAsm(uint256[])](tests/detectors/assembly/0.7.6/inline_assembly_library.sol#L14-L20) uses assembly\n\t- [INLINE ASM](tests/detectors/assembly/0.7.6/inline_assembly_library.sol#L16-L18)\n", "markdown": "[VectorSum.sumPureAsm(uint256[])](tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol#L23-L45) uses assembly\n\t- [INLINE ASM](tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol#L24-L44)\n",
"first_markdown_element": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol#L14-L20", "first_markdown_element": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol#L23-L45",
"id": "a83582beb2c0460617fa82fbdfc38a050004e285749b17141b63e8051062248b", "id": "85808e86367fa259711d41c48f23ea18a68773f92124e3aad598acb6d45ac69e",
"check": "assembly", "check": "assembly",
"impact": "Informational", "impact": "Informational",
"confidence": "High" "confidence": "High"

@ -8,9 +8,9 @@
"source_mapping": { "source_mapping": {
"start": 398, "start": 398,
"length": 55, "length": 55,
"filename_relative": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 19,
@ -27,9 +27,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 759, "length": 759,
"filename_relative": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -85,9 +85,9 @@
"source_mapping": { "source_mapping": {
"start": 427, "start": 427,
"length": 21, "length": 21,
"filename_relative": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
20 20
@ -102,9 +102,9 @@
"source_mapping": { "source_mapping": {
"start": 398, "start": 398,
"length": 55, "length": 55,
"filename_relative": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 19,
@ -121,9 +121,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 759, "length": 759,
"filename_relative": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -176,10 +176,10 @@
} }
} }
], ],
"description": "A.bad2() (tests/detectors/assert-state-change/0.4.25/assert_state_change.sol#19-21) has an assert() call which possibly changes state.\n\t-assert(bool)(bad2_callee()) (tests/detectors/assert-state-change/0.4.25/assert_state_change.sol#20)\nConsider using require() or change the invariant to not modify the state.\n", "description": "A.bad2() (tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol#19-21) has an assert() call which possibly changes state.\n\t-assert(bool)(bad2_callee()) (tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol#20)\nConsider using require() or change the invariant to not modify the state.\n",
"markdown": "[A.bad2()](tests/detectors/assert-state-change/0.4.25/assert_state_change.sol#L19-L21) has an assert() call which possibly changes state.\n\t-[assert(bool)(bad2_callee())](tests/detectors/assert-state-change/0.4.25/assert_state_change.sol#L20)\nConsider using require() or change the invariant to not modify the state.\n", "markdown": "[A.bad2()](tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol#L19-L21) has an assert() call which possibly changes state.\n\t-[assert(bool)(bad2_callee())](tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol#L20)\nConsider using require() or change the invariant to not modify the state.\n",
"first_markdown_element": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol#L19-L21", "first_markdown_element": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol#L19-L21",
"id": "47c8c39b084f8d339822d44f892cb049c1a3834f52fd48d2dcef80bac56996a3", "id": "85979ffbc3cf8c2e71c54ee1cd498165a330c7e02389732170dee1c14008a72b",
"check": "assert-state-change", "check": "assert-state-change",
"impact": "Informational", "impact": "Informational",
"confidence": "High" "confidence": "High"
@ -188,18 +188,18 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "bad1", "name": "bad0",
"source_mapping": { "source_mapping": {
"start": 186, "start": 77,
"length": 66, "length": 57,
"filename_relative": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
11, 6,
12, 7,
13 8
], ],
"starting_column": 3, "starting_column": 3,
"ending_column": 4 "ending_column": 4
@ -211,9 +211,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 759, "length": 759,
"filename_relative": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -260,21 +260,21 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad1(uint256)" "signature": "bad0()"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "assert(bool)((s_a += a) > 10)", "name": "assert(bool)((s_a += 1) > 10)",
"source_mapping": { "source_mapping": {
"start": 224, "start": 106,
"length": 23, "length": 23,
"filename_relative": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
12 7
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 28 "ending_column": 28
@ -282,18 +282,18 @@
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "bad1", "name": "bad0",
"source_mapping": { "source_mapping": {
"start": 186, "start": 77,
"length": 66, "length": 57,
"filename_relative": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
11, 6,
12, 7,
13 8
], ],
"starting_column": 3, "starting_column": 3,
"ending_column": 4 "ending_column": 4
@ -305,9 +305,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 759, "length": 759,
"filename_relative": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -354,16 +354,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad1(uint256)" "signature": "bad0()"
} }
} }
} }
} }
], ],
"description": "A.bad1(uint256) (tests/detectors/assert-state-change/0.4.25/assert_state_change.sol#11-13) has an assert() call which possibly changes state.\n\t-assert(bool)((s_a += a) > 10) (tests/detectors/assert-state-change/0.4.25/assert_state_change.sol#12)\nConsider using require() or change the invariant to not modify the state.\n", "description": "A.bad0() (tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol#6-8) has an assert() call which possibly changes state.\n\t-assert(bool)((s_a += 1) > 10) (tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol#7)\nConsider using require() or change the invariant to not modify the state.\n",
"markdown": "[A.bad1(uint256)](tests/detectors/assert-state-change/0.4.25/assert_state_change.sol#L11-L13) has an assert() call which possibly changes state.\n\t-[assert(bool)((s_a += a) > 10)](tests/detectors/assert-state-change/0.4.25/assert_state_change.sol#L12)\nConsider using require() or change the invariant to not modify the state.\n", "markdown": "[A.bad0()](tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol#L6-L8) has an assert() call which possibly changes state.\n\t-[assert(bool)((s_a += 1) > 10)](tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol#L7)\nConsider using require() or change the invariant to not modify the state.\n",
"first_markdown_element": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol#L11-L13", "first_markdown_element": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol#L6-L8",
"id": "849934acf882563bb79caed681f16909f03795bbbbe8338455d104d66a52314c", "id": "88a3e2b76097a01a39053337640c9105227317e018b08c603bf154883d054d5c",
"check": "assert-state-change", "check": "assert-state-change",
"impact": "Informational", "impact": "Informational",
"confidence": "High" "confidence": "High"
@ -372,18 +372,18 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "bad0", "name": "bad1",
"source_mapping": { "source_mapping": {
"start": 77, "start": 186,
"length": 57, "length": 66,
"filename_relative": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
6, 11,
7, 12,
8 13
], ],
"starting_column": 3, "starting_column": 3,
"ending_column": 4 "ending_column": 4
@ -395,9 +395,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 759, "length": 759,
"filename_relative": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -444,21 +444,21 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad0()" "signature": "bad1(uint256)"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "assert(bool)((s_a += 1) > 10)", "name": "assert(bool)((s_a += a) > 10)",
"source_mapping": { "source_mapping": {
"start": 106, "start": 224,
"length": 23, "length": 23,
"filename_relative": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
7 12
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 28 "ending_column": 28
@ -466,18 +466,18 @@
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "bad0", "name": "bad1",
"source_mapping": { "source_mapping": {
"start": 77, "start": 186,
"length": 57, "length": 66,
"filename_relative": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
6, 11,
7, 12,
8 13
], ],
"starting_column": 3, "starting_column": 3,
"ending_column": 4 "ending_column": 4
@ -489,9 +489,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 759, "length": 759,
"filename_relative": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -538,16 +538,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad0()" "signature": "bad1(uint256)"
} }
} }
} }
} }
], ],
"description": "A.bad0() (tests/detectors/assert-state-change/0.4.25/assert_state_change.sol#6-8) has an assert() call which possibly changes state.\n\t-assert(bool)((s_a += 1) > 10) (tests/detectors/assert-state-change/0.4.25/assert_state_change.sol#7)\nConsider using require() or change the invariant to not modify the state.\n", "description": "A.bad1(uint256) (tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol#11-13) has an assert() call which possibly changes state.\n\t-assert(bool)((s_a += a) > 10) (tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol#12)\nConsider using require() or change the invariant to not modify the state.\n",
"markdown": "[A.bad0()](tests/detectors/assert-state-change/0.4.25/assert_state_change.sol#L6-L8) has an assert() call which possibly changes state.\n\t-[assert(bool)((s_a += 1) > 10)](tests/detectors/assert-state-change/0.4.25/assert_state_change.sol#L7)\nConsider using require() or change the invariant to not modify the state.\n", "markdown": "[A.bad1(uint256)](tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol#L11-L13) has an assert() call which possibly changes state.\n\t-[assert(bool)((s_a += a) > 10)](tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol#L12)\nConsider using require() or change the invariant to not modify the state.\n",
"first_markdown_element": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol#L6-L8", "first_markdown_element": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol#L11-L13",
"id": "a01104ede08ddc5107a2d63d851930d477642029aeef70d6cb44eb2a640b282a", "id": "8c2bfb124ed74f4b532b06c3a88b5d014cf2d19a81ad22b0ca561545965c0e2b",
"check": "assert-state-change", "check": "assert-state-change",
"impact": "Informational", "impact": "Informational",
"confidence": "High" "confidence": "High"

@ -8,9 +8,9 @@
"source_mapping": { "source_mapping": {
"start": 186, "start": 186,
"length": 66, "length": 66,
"filename_relative": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
11, 11,
@ -27,9 +27,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 759, "length": 759,
"filename_relative": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -85,9 +85,9 @@
"source_mapping": { "source_mapping": {
"start": 224, "start": 224,
"length": 23, "length": 23,
"filename_relative": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
12 12
@ -102,9 +102,9 @@
"source_mapping": { "source_mapping": {
"start": 186, "start": 186,
"length": 66, "length": 66,
"filename_relative": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
11, 11,
@ -121,9 +121,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 759, "length": 759,
"filename_relative": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -176,10 +176,10 @@
} }
} }
], ],
"description": "A.bad1(uint256) (tests/detectors/assert-state-change/0.5.16/assert_state_change.sol#11-13) has an assert() call which possibly changes state.\n\t-assert(bool)((s_a += a) > 10) (tests/detectors/assert-state-change/0.5.16/assert_state_change.sol#12)\nConsider using require() or change the invariant to not modify the state.\n", "description": "A.bad1(uint256) (tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol#11-13) has an assert() call which possibly changes state.\n\t-assert(bool)((s_a += a) > 10) (tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol#12)\nConsider using require() or change the invariant to not modify the state.\n",
"markdown": "[A.bad1(uint256)](tests/detectors/assert-state-change/0.5.16/assert_state_change.sol#L11-L13) has an assert() call which possibly changes state.\n\t-[assert(bool)((s_a += a) > 10)](tests/detectors/assert-state-change/0.5.16/assert_state_change.sol#L12)\nConsider using require() or change the invariant to not modify the state.\n", "markdown": "[A.bad1(uint256)](tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol#L11-L13) has an assert() call which possibly changes state.\n\t-[assert(bool)((s_a += a) > 10)](tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol#L12)\nConsider using require() or change the invariant to not modify the state.\n",
"first_markdown_element": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol#L11-L13", "first_markdown_element": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol#L11-L13",
"id": "ea912d34e8adabfd2ce93ecd5723df8d2e7ebec7e66de5fc56f3304c780488b3", "id": "06b536c1f6f37d0b7ef3459055c7757375e371d3dfbd6c17012bcc2c7991bfc7",
"check": "assert-state-change", "check": "assert-state-change",
"impact": "Informational", "impact": "Informational",
"confidence": "High" "confidence": "High"
@ -188,18 +188,18 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "bad0", "name": "bad2",
"source_mapping": { "source_mapping": {
"start": 77, "start": 398,
"length": 57, "length": 55,
"filename_relative": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
6, 19,
7, 20,
8 21
], ],
"starting_column": 3, "starting_column": 3,
"ending_column": 4 "ending_column": 4
@ -211,9 +211,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 759, "length": 759,
"filename_relative": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -260,40 +260,40 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad0()" "signature": "bad2()"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "assert(bool)((s_a += 1) > 10)", "name": "assert(bool)(bad2_callee())",
"source_mapping": { "source_mapping": {
"start": 106, "start": 427,
"length": 23, "length": 21,
"filename_relative": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
7 20
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 28 "ending_column": 26
}, },
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "bad0", "name": "bad2",
"source_mapping": { "source_mapping": {
"start": 77, "start": 398,
"length": 57, "length": 55,
"filename_relative": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
6, 19,
7, 20,
8 21
], ],
"starting_column": 3, "starting_column": 3,
"ending_column": 4 "ending_column": 4
@ -305,9 +305,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 759, "length": 759,
"filename_relative": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -354,16 +354,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad0()" "signature": "bad2()"
} }
} }
} }
} }
], ],
"description": "A.bad0() (tests/detectors/assert-state-change/0.5.16/assert_state_change.sol#6-8) has an assert() call which possibly changes state.\n\t-assert(bool)((s_a += 1) > 10) (tests/detectors/assert-state-change/0.5.16/assert_state_change.sol#7)\nConsider using require() or change the invariant to not modify the state.\n", "description": "A.bad2() (tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol#19-21) has an assert() call which possibly changes state.\n\t-assert(bool)(bad2_callee()) (tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol#20)\nConsider using require() or change the invariant to not modify the state.\n",
"markdown": "[A.bad0()](tests/detectors/assert-state-change/0.5.16/assert_state_change.sol#L6-L8) has an assert() call which possibly changes state.\n\t-[assert(bool)((s_a += 1) > 10)](tests/detectors/assert-state-change/0.5.16/assert_state_change.sol#L7)\nConsider using require() or change the invariant to not modify the state.\n", "markdown": "[A.bad2()](tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol#L19-L21) has an assert() call which possibly changes state.\n\t-[assert(bool)(bad2_callee())](tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol#L20)\nConsider using require() or change the invariant to not modify the state.\n",
"first_markdown_element": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol#L6-L8", "first_markdown_element": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol#L19-L21",
"id": "ed7344e23d057576887c7e524b215bd0b52464ce035f686bab51b271460e43a0", "id": "58c5e6106ba6566aacedc2e05143de4a6b8befba4ef5de931581f5cf09ccbcaf",
"check": "assert-state-change", "check": "assert-state-change",
"impact": "Informational", "impact": "Informational",
"confidence": "High" "confidence": "High"
@ -372,18 +372,18 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "bad2", "name": "bad0",
"source_mapping": { "source_mapping": {
"start": 398, "start": 77,
"length": 55, "length": 57,
"filename_relative": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 6,
20, 7,
21 8
], ],
"starting_column": 3, "starting_column": 3,
"ending_column": 4 "ending_column": 4
@ -395,9 +395,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 759, "length": 759,
"filename_relative": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -444,40 +444,40 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad2()" "signature": "bad0()"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "assert(bool)(bad2_callee())", "name": "assert(bool)((s_a += 1) > 10)",
"source_mapping": { "source_mapping": {
"start": 427, "start": 106,
"length": 21, "length": 23,
"filename_relative": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
20 7
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 26 "ending_column": 28
}, },
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "bad2", "name": "bad0",
"source_mapping": { "source_mapping": {
"start": 398, "start": 77,
"length": 55, "length": 57,
"filename_relative": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 6,
20, 7,
21 8
], ],
"starting_column": 3, "starting_column": 3,
"ending_column": 4 "ending_column": 4
@ -489,9 +489,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 759, "length": 759,
"filename_relative": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -538,16 +538,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad2()" "signature": "bad0()"
} }
} }
} }
} }
], ],
"description": "A.bad2() (tests/detectors/assert-state-change/0.5.16/assert_state_change.sol#19-21) has an assert() call which possibly changes state.\n\t-assert(bool)(bad2_callee()) (tests/detectors/assert-state-change/0.5.16/assert_state_change.sol#20)\nConsider using require() or change the invariant to not modify the state.\n", "description": "A.bad0() (tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol#6-8) has an assert() call which possibly changes state.\n\t-assert(bool)((s_a += 1) > 10) (tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol#7)\nConsider using require() or change the invariant to not modify the state.\n",
"markdown": "[A.bad2()](tests/detectors/assert-state-change/0.5.16/assert_state_change.sol#L19-L21) has an assert() call which possibly changes state.\n\t-[assert(bool)(bad2_callee())](tests/detectors/assert-state-change/0.5.16/assert_state_change.sol#L20)\nConsider using require() or change the invariant to not modify the state.\n", "markdown": "[A.bad0()](tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol#L6-L8) has an assert() call which possibly changes state.\n\t-[assert(bool)((s_a += 1) > 10)](tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol#L7)\nConsider using require() or change the invariant to not modify the state.\n",
"first_markdown_element": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol#L19-L21", "first_markdown_element": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol#L6-L8",
"id": "feb1fef411c094fe2d2dac33e4932217dd550b8a89548417ef8a4da2fe99eea2", "id": "6b042fd4a2a0d41b27bc01260a09db3c4387ec65ca23d9d9df1230f54f53681a",
"check": "assert-state-change", "check": "assert-state-change",
"impact": "Informational", "impact": "Informational",
"confidence": "High" "confidence": "High"

@ -8,9 +8,9 @@
"source_mapping": { "source_mapping": {
"start": 77, "start": 77,
"length": 57, "length": 57,
"filename_relative": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
6, 6,
@ -27,9 +27,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 759, "length": 759,
"filename_relative": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -85,9 +85,9 @@
"source_mapping": { "source_mapping": {
"start": 106, "start": 106,
"length": 23, "length": 23,
"filename_relative": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
7 7
@ -102,9 +102,9 @@
"source_mapping": { "source_mapping": {
"start": 77, "start": 77,
"length": 57, "length": 57,
"filename_relative": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
6, 6,
@ -121,9 +121,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 759, "length": 759,
"filename_relative": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -176,10 +176,10 @@
} }
} }
], ],
"description": "A.bad0() (tests/detectors/assert-state-change/0.6.11/assert_state_change.sol#6-8) has an assert() call which possibly changes state.\n\t-assert(bool)((s_a += 1) > 10) (tests/detectors/assert-state-change/0.6.11/assert_state_change.sol#7)\nConsider using require() or change the invariant to not modify the state.\n", "description": "A.bad0() (tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol#6-8) has an assert() call which possibly changes state.\n\t-assert(bool)((s_a += 1) > 10) (tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol#7)\nConsider using require() or change the invariant to not modify the state.\n",
"markdown": "[A.bad0()](tests/detectors/assert-state-change/0.6.11/assert_state_change.sol#L6-L8) has an assert() call which possibly changes state.\n\t-[assert(bool)((s_a += 1) > 10)](tests/detectors/assert-state-change/0.6.11/assert_state_change.sol#L7)\nConsider using require() or change the invariant to not modify the state.\n", "markdown": "[A.bad0()](tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol#L6-L8) has an assert() call which possibly changes state.\n\t-[assert(bool)((s_a += 1) > 10)](tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol#L7)\nConsider using require() or change the invariant to not modify the state.\n",
"first_markdown_element": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol#L6-L8", "first_markdown_element": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol#L6-L8",
"id": "5b8574d24925d841b9f041ba70166cc219ea6bcdd06c27d2f570740722b38380", "id": "0855817bbb19b59c76156f29f217db4196244311d133ee0f88b4fe586abc7488",
"check": "assert-state-change", "check": "assert-state-change",
"impact": "Informational", "impact": "Informational",
"confidence": "High" "confidence": "High"
@ -188,18 +188,18 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "bad2", "name": "bad1",
"source_mapping": { "source_mapping": {
"start": 398, "start": 186,
"length": 55, "length": 66,
"filename_relative": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 11,
20, 12,
21 13
], ],
"starting_column": 3, "starting_column": 3,
"ending_column": 4 "ending_column": 4
@ -211,9 +211,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 759, "length": 759,
"filename_relative": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -260,40 +260,40 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad2()" "signature": "bad1(uint256)"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "assert(bool)(bad2_callee())", "name": "assert(bool)((s_a += a) > 10)",
"source_mapping": { "source_mapping": {
"start": 427, "start": 224,
"length": 21, "length": 23,
"filename_relative": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
20 12
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 26 "ending_column": 28
}, },
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "bad2", "name": "bad1",
"source_mapping": { "source_mapping": {
"start": 398, "start": 186,
"length": 55, "length": 66,
"filename_relative": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 11,
20, 12,
21 13
], ],
"starting_column": 3, "starting_column": 3,
"ending_column": 4 "ending_column": 4
@ -305,9 +305,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 759, "length": 759,
"filename_relative": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -354,16 +354,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad2()" "signature": "bad1(uint256)"
} }
} }
} }
} }
], ],
"description": "A.bad2() (tests/detectors/assert-state-change/0.6.11/assert_state_change.sol#19-21) has an assert() call which possibly changes state.\n\t-assert(bool)(bad2_callee()) (tests/detectors/assert-state-change/0.6.11/assert_state_change.sol#20)\nConsider using require() or change the invariant to not modify the state.\n", "description": "A.bad1(uint256) (tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol#11-13) has an assert() call which possibly changes state.\n\t-assert(bool)((s_a += a) > 10) (tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol#12)\nConsider using require() or change the invariant to not modify the state.\n",
"markdown": "[A.bad2()](tests/detectors/assert-state-change/0.6.11/assert_state_change.sol#L19-L21) has an assert() call which possibly changes state.\n\t-[assert(bool)(bad2_callee())](tests/detectors/assert-state-change/0.6.11/assert_state_change.sol#L20)\nConsider using require() or change the invariant to not modify the state.\n", "markdown": "[A.bad1(uint256)](tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol#L11-L13) has an assert() call which possibly changes state.\n\t-[assert(bool)((s_a += a) > 10)](tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol#L12)\nConsider using require() or change the invariant to not modify the state.\n",
"first_markdown_element": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol#L19-L21", "first_markdown_element": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol#L11-L13",
"id": "6f4b2360043bf3035cc152b583d3462d8cc98e91de8577091fe3a0af569d5285", "id": "579536e4b54c9a38337b1b974bfe04be3e63cd7e749f68fb9b7fa4a97c2b35a7",
"check": "assert-state-change", "check": "assert-state-change",
"impact": "Informational", "impact": "Informational",
"confidence": "High" "confidence": "High"
@ -372,18 +372,18 @@
"elements": [ "elements": [
{ {
"type": "function", "type": "function",
"name": "bad1", "name": "bad2",
"source_mapping": { "source_mapping": {
"start": 186, "start": 398,
"length": 66, "length": 55,
"filename_relative": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
11, 19,
12, 20,
13 21
], ],
"starting_column": 3, "starting_column": 3,
"ending_column": 4 "ending_column": 4
@ -395,9 +395,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 759, "length": 759,
"filename_relative": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -444,40 +444,40 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad1(uint256)" "signature": "bad2()"
} }
}, },
{ {
"type": "node", "type": "node",
"name": "assert(bool)((s_a += a) > 10)", "name": "assert(bool)(bad2_callee())",
"source_mapping": { "source_mapping": {
"start": 224, "start": 427,
"length": 23, "length": 21,
"filename_relative": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
12 20
], ],
"starting_column": 5, "starting_column": 5,
"ending_column": 28 "ending_column": 26
}, },
"type_specific_fields": { "type_specific_fields": {
"parent": { "parent": {
"type": "function", "type": "function",
"name": "bad1", "name": "bad2",
"source_mapping": { "source_mapping": {
"start": 186, "start": 398,
"length": 66, "length": 55,
"filename_relative": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
11, 19,
12, 20,
13 21
], ],
"starting_column": 3, "starting_column": 3,
"ending_column": 4 "ending_column": 4
@ -489,9 +489,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 759, "length": 759,
"filename_relative": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -538,16 +538,16 @@
"ending_column": 2 "ending_column": 2
} }
}, },
"signature": "bad1(uint256)" "signature": "bad2()"
} }
} }
} }
} }
], ],
"description": "A.bad1(uint256) (tests/detectors/assert-state-change/0.6.11/assert_state_change.sol#11-13) has an assert() call which possibly changes state.\n\t-assert(bool)((s_a += a) > 10) (tests/detectors/assert-state-change/0.6.11/assert_state_change.sol#12)\nConsider using require() or change the invariant to not modify the state.\n", "description": "A.bad2() (tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol#19-21) has an assert() call which possibly changes state.\n\t-assert(bool)(bad2_callee()) (tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol#20)\nConsider using require() or change the invariant to not modify the state.\n",
"markdown": "[A.bad1(uint256)](tests/detectors/assert-state-change/0.6.11/assert_state_change.sol#L11-L13) has an assert() call which possibly changes state.\n\t-[assert(bool)((s_a += a) > 10)](tests/detectors/assert-state-change/0.6.11/assert_state_change.sol#L12)\nConsider using require() or change the invariant to not modify the state.\n", "markdown": "[A.bad2()](tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol#L19-L21) has an assert() call which possibly changes state.\n\t-[assert(bool)(bad2_callee())](tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol#L20)\nConsider using require() or change the invariant to not modify the state.\n",
"first_markdown_element": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol#L11-L13", "first_markdown_element": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol#L19-L21",
"id": "c27ede68d9d7c6159032f3aef6bf9fa491390317da33307fa783a93c1b675bd7", "id": "a1813bb52d5a82887885c8c90d8fa10c4e80612143752aeaad86a261855ef2e7",
"check": "assert-state-change", "check": "assert-state-change",
"impact": "Informational", "impact": "Informational",
"confidence": "High" "confidence": "High"

@ -8,9 +8,9 @@
"source_mapping": { "source_mapping": {
"start": 398, "start": 398,
"length": 55, "length": 55,
"filename_relative": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 19,
@ -27,9 +27,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 759, "length": 759,
"filename_relative": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -85,9 +85,9 @@
"source_mapping": { "source_mapping": {
"start": 427, "start": 427,
"length": 21, "length": 21,
"filename_relative": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
20 20
@ -102,9 +102,9 @@
"source_mapping": { "source_mapping": {
"start": 398, "start": 398,
"length": 55, "length": 55,
"filename_relative": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
19, 19,
@ -121,9 +121,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 759, "length": 759,
"filename_relative": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -176,10 +176,10 @@
} }
} }
], ],
"description": "A.bad2() (tests/detectors/assert-state-change/0.7.6/assert_state_change.sol#19-21) has an assert() call which possibly changes state.\n\t-assert(bool)(bad2_callee()) (tests/detectors/assert-state-change/0.7.6/assert_state_change.sol#20)\nConsider using require() or change the invariant to not modify the state.\n", "description": "A.bad2() (tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol#19-21) has an assert() call which possibly changes state.\n\t-assert(bool)(bad2_callee()) (tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol#20)\nConsider using require() or change the invariant to not modify the state.\n",
"markdown": "[A.bad2()](tests/detectors/assert-state-change/0.7.6/assert_state_change.sol#L19-L21) has an assert() call which possibly changes state.\n\t-[assert(bool)(bad2_callee())](tests/detectors/assert-state-change/0.7.6/assert_state_change.sol#L20)\nConsider using require() or change the invariant to not modify the state.\n", "markdown": "[A.bad2()](tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol#L19-L21) has an assert() call which possibly changes state.\n\t-[assert(bool)(bad2_callee())](tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol#L20)\nConsider using require() or change the invariant to not modify the state.\n",
"first_markdown_element": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol#L19-L21", "first_markdown_element": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol#L19-L21",
"id": "4b31923b05dec7d68f1bf133b986b4ec06fcc82ff3b8f0414d3ee3d623b69265", "id": "007f2bdbef5004ed854ea288a36b2bbcf31c2ecfdc41896a7f978d274bff6fc1",
"check": "assert-state-change", "check": "assert-state-change",
"impact": "Informational", "impact": "Informational",
"confidence": "High" "confidence": "High"
@ -192,9 +192,9 @@
"source_mapping": { "source_mapping": {
"start": 186, "start": 186,
"length": 66, "length": 66,
"filename_relative": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
11, 11,
@ -211,9 +211,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 759, "length": 759,
"filename_relative": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -269,9 +269,9 @@
"source_mapping": { "source_mapping": {
"start": 224, "start": 224,
"length": 23, "length": 23,
"filename_relative": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
12 12
@ -286,9 +286,9 @@
"source_mapping": { "source_mapping": {
"start": 186, "start": 186,
"length": 66, "length": 66,
"filename_relative": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
11, 11,
@ -305,9 +305,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 759, "length": 759,
"filename_relative": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -360,10 +360,10 @@
} }
} }
], ],
"description": "A.bad1(uint256) (tests/detectors/assert-state-change/0.7.6/assert_state_change.sol#11-13) has an assert() call which possibly changes state.\n\t-assert(bool)((s_a += a) > 10) (tests/detectors/assert-state-change/0.7.6/assert_state_change.sol#12)\nConsider using require() or change the invariant to not modify the state.\n", "description": "A.bad1(uint256) (tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol#11-13) has an assert() call which possibly changes state.\n\t-assert(bool)((s_a += a) > 10) (tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol#12)\nConsider using require() or change the invariant to not modify the state.\n",
"markdown": "[A.bad1(uint256)](tests/detectors/assert-state-change/0.7.6/assert_state_change.sol#L11-L13) has an assert() call which possibly changes state.\n\t-[assert(bool)((s_a += a) > 10)](tests/detectors/assert-state-change/0.7.6/assert_state_change.sol#L12)\nConsider using require() or change the invariant to not modify the state.\n", "markdown": "[A.bad1(uint256)](tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol#L11-L13) has an assert() call which possibly changes state.\n\t-[assert(bool)((s_a += a) > 10)](tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol#L12)\nConsider using require() or change the invariant to not modify the state.\n",
"first_markdown_element": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol#L11-L13", "first_markdown_element": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol#L11-L13",
"id": "60ad080e2f9647b400851918171383a9aac2900cc0828121e441db4240911fba", "id": "139e739308fb37177087443177ea3ca24788c9ad0391de3d8d331046daf8988a",
"check": "assert-state-change", "check": "assert-state-change",
"impact": "Informational", "impact": "Informational",
"confidence": "High" "confidence": "High"
@ -376,9 +376,9 @@
"source_mapping": { "source_mapping": {
"start": 77, "start": 77,
"length": 57, "length": 57,
"filename_relative": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
6, 6,
@ -395,9 +395,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 759, "length": 759,
"filename_relative": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -453,9 +453,9 @@
"source_mapping": { "source_mapping": {
"start": 106, "start": 106,
"length": 23, "length": 23,
"filename_relative": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
7 7
@ -470,9 +470,9 @@
"source_mapping": { "source_mapping": {
"start": 77, "start": 77,
"length": 57, "length": 57,
"filename_relative": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
6, 6,
@ -489,9 +489,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 759, "length": 759,
"filename_relative": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -544,10 +544,10 @@
} }
} }
], ],
"description": "A.bad0() (tests/detectors/assert-state-change/0.7.6/assert_state_change.sol#6-8) has an assert() call which possibly changes state.\n\t-assert(bool)((s_a += 1) > 10) (tests/detectors/assert-state-change/0.7.6/assert_state_change.sol#7)\nConsider using require() or change the invariant to not modify the state.\n", "description": "A.bad0() (tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol#6-8) has an assert() call which possibly changes state.\n\t-assert(bool)((s_a += 1) > 10) (tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol#7)\nConsider using require() or change the invariant to not modify the state.\n",
"markdown": "[A.bad0()](tests/detectors/assert-state-change/0.7.6/assert_state_change.sol#L6-L8) has an assert() call which possibly changes state.\n\t-[assert(bool)((s_a += 1) > 10)](tests/detectors/assert-state-change/0.7.6/assert_state_change.sol#L7)\nConsider using require() or change the invariant to not modify the state.\n", "markdown": "[A.bad0()](tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol#L6-L8) has an assert() call which possibly changes state.\n\t-[assert(bool)((s_a += 1) > 10)](tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol#L7)\nConsider using require() or change the invariant to not modify the state.\n",
"first_markdown_element": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol#L6-L8", "first_markdown_element": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol#L6-L8",
"id": "a710d11e5510f0eb3acb2c1ec524779253f25bf2931bce4cb9c5c048ec586b80", "id": "5ce92f244b7d1f6be8a6098e0abd5c69b15ea8353a42e21be1837a68915ead44",
"check": "assert-state-change", "check": "assert-state-change",
"impact": "Informational", "impact": "Informational",
"confidence": "High" "confidence": "High"

@ -8,9 +8,9 @@
"source_mapping": { "source_mapping": {
"start": 18, "start": 18,
"length": 74, "length": 74,
"filename_relative": "tests/detectors/backdoor/0.4.25/backdoor.sol", "filename_relative": "tests/e2e/detectors/test_data/backdoor/0.4.25/backdoor.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/backdoor/0.4.25/backdoor.sol", "filename_short": "tests/e2e/detectors/test_data/backdoor/0.4.25/backdoor.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
4, 4,
@ -27,9 +27,9 @@
"source_mapping": { "source_mapping": {
"start": 1, "start": 1,
"length": 94, "length": 94,
"filename_relative": "tests/detectors/backdoor/0.4.25/backdoor.sol", "filename_relative": "tests/e2e/detectors/test_data/backdoor/0.4.25/backdoor.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/backdoor/0.4.25/backdoor.sol", "filename_short": "tests/e2e/detectors/test_data/backdoor/0.4.25/backdoor.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
2, 2,
@ -48,9 +48,9 @@
} }
} }
], ],
"description": "Backdoor function found in C.i_am_a_backdoor() (tests/detectors/backdoor/0.4.25/backdoor.sol#4-6)\n", "description": "Backdoor function found in C.i_am_a_backdoor() (tests/e2e/detectors/test_data/backdoor/0.4.25/backdoor.sol#4-6)\n",
"markdown": "Backdoor function found in [C.i_am_a_backdoor()](tests/detectors/backdoor/0.4.25/backdoor.sol#L4-L6)\n", "markdown": "Backdoor function found in [C.i_am_a_backdoor()](tests/e2e/detectors/test_data/backdoor/0.4.25/backdoor.sol#L4-L6)\n",
"first_markdown_element": "tests/detectors/backdoor/0.4.25/backdoor.sol#L4-L6", "first_markdown_element": "tests/e2e/detectors/test_data/backdoor/0.4.25/backdoor.sol#L4-L6",
"id": "8a9008f2f5cd23b34feb0235dcc30ecb8d09a10eff151b522939caead117ef7a", "id": "8a9008f2f5cd23b34feb0235dcc30ecb8d09a10eff151b522939caead117ef7a",
"check": "backdoor", "check": "backdoor",
"impact": "High", "impact": "High",

@ -8,9 +8,9 @@
"source_mapping": { "source_mapping": {
"start": 18, "start": 18,
"length": 74, "length": 74,
"filename_relative": "tests/detectors/backdoor/0.5.16/backdoor.sol", "filename_relative": "tests/e2e/detectors/test_data/backdoor/0.5.16/backdoor.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/backdoor/0.5.16/backdoor.sol", "filename_short": "tests/e2e/detectors/test_data/backdoor/0.5.16/backdoor.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
4, 4,
@ -27,9 +27,9 @@
"source_mapping": { "source_mapping": {
"start": 1, "start": 1,
"length": 94, "length": 94,
"filename_relative": "tests/detectors/backdoor/0.5.16/backdoor.sol", "filename_relative": "tests/e2e/detectors/test_data/backdoor/0.5.16/backdoor.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/backdoor/0.5.16/backdoor.sol", "filename_short": "tests/e2e/detectors/test_data/backdoor/0.5.16/backdoor.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
2, 2,
@ -48,9 +48,9 @@
} }
} }
], ],
"description": "Backdoor function found in C.i_am_a_backdoor() (tests/detectors/backdoor/0.5.16/backdoor.sol#4-6)\n", "description": "Backdoor function found in C.i_am_a_backdoor() (tests/e2e/detectors/test_data/backdoor/0.5.16/backdoor.sol#4-6)\n",
"markdown": "Backdoor function found in [C.i_am_a_backdoor()](tests/detectors/backdoor/0.5.16/backdoor.sol#L4-L6)\n", "markdown": "Backdoor function found in [C.i_am_a_backdoor()](tests/e2e/detectors/test_data/backdoor/0.5.16/backdoor.sol#L4-L6)\n",
"first_markdown_element": "tests/detectors/backdoor/0.5.16/backdoor.sol#L4-L6", "first_markdown_element": "tests/e2e/detectors/test_data/backdoor/0.5.16/backdoor.sol#L4-L6",
"id": "8a9008f2f5cd23b34feb0235dcc30ecb8d09a10eff151b522939caead117ef7a", "id": "8a9008f2f5cd23b34feb0235dcc30ecb8d09a10eff151b522939caead117ef7a",
"check": "backdoor", "check": "backdoor",
"impact": "High", "impact": "High",

@ -8,9 +8,9 @@
"source_mapping": { "source_mapping": {
"start": 18, "start": 18,
"length": 74, "length": 74,
"filename_relative": "tests/detectors/backdoor/0.6.11/backdoor.sol", "filename_relative": "tests/e2e/detectors/test_data/backdoor/0.6.11/backdoor.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/backdoor/0.6.11/backdoor.sol", "filename_short": "tests/e2e/detectors/test_data/backdoor/0.6.11/backdoor.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
4, 4,
@ -27,9 +27,9 @@
"source_mapping": { "source_mapping": {
"start": 1, "start": 1,
"length": 94, "length": 94,
"filename_relative": "tests/detectors/backdoor/0.6.11/backdoor.sol", "filename_relative": "tests/e2e/detectors/test_data/backdoor/0.6.11/backdoor.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/backdoor/0.6.11/backdoor.sol", "filename_short": "tests/e2e/detectors/test_data/backdoor/0.6.11/backdoor.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
2, 2,
@ -48,9 +48,9 @@
} }
} }
], ],
"description": "Backdoor function found in C.i_am_a_backdoor() (tests/detectors/backdoor/0.6.11/backdoor.sol#4-6)\n", "description": "Backdoor function found in C.i_am_a_backdoor() (tests/e2e/detectors/test_data/backdoor/0.6.11/backdoor.sol#4-6)\n",
"markdown": "Backdoor function found in [C.i_am_a_backdoor()](tests/detectors/backdoor/0.6.11/backdoor.sol#L4-L6)\n", "markdown": "Backdoor function found in [C.i_am_a_backdoor()](tests/e2e/detectors/test_data/backdoor/0.6.11/backdoor.sol#L4-L6)\n",
"first_markdown_element": "tests/detectors/backdoor/0.6.11/backdoor.sol#L4-L6", "first_markdown_element": "tests/e2e/detectors/test_data/backdoor/0.6.11/backdoor.sol#L4-L6",
"id": "8a9008f2f5cd23b34feb0235dcc30ecb8d09a10eff151b522939caead117ef7a", "id": "8a9008f2f5cd23b34feb0235dcc30ecb8d09a10eff151b522939caead117ef7a",
"check": "backdoor", "check": "backdoor",
"impact": "High", "impact": "High",

@ -8,9 +8,9 @@
"source_mapping": { "source_mapping": {
"start": 18, "start": 18,
"length": 74, "length": 74,
"filename_relative": "tests/detectors/backdoor/0.7.6/backdoor.sol", "filename_relative": "tests/e2e/detectors/test_data/backdoor/0.7.6/backdoor.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/backdoor/0.7.6/backdoor.sol", "filename_short": "tests/e2e/detectors/test_data/backdoor/0.7.6/backdoor.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
4, 4,
@ -27,9 +27,9 @@
"source_mapping": { "source_mapping": {
"start": 1, "start": 1,
"length": 94, "length": 94,
"filename_relative": "tests/detectors/backdoor/0.7.6/backdoor.sol", "filename_relative": "tests/e2e/detectors/test_data/backdoor/0.7.6/backdoor.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/backdoor/0.7.6/backdoor.sol", "filename_short": "tests/e2e/detectors/test_data/backdoor/0.7.6/backdoor.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
2, 2,
@ -48,9 +48,9 @@
} }
} }
], ],
"description": "Backdoor function found in C.i_am_a_backdoor() (tests/detectors/backdoor/0.7.6/backdoor.sol#4-6)\n", "description": "Backdoor function found in C.i_am_a_backdoor() (tests/e2e/detectors/test_data/backdoor/0.7.6/backdoor.sol#4-6)\n",
"markdown": "Backdoor function found in [C.i_am_a_backdoor()](tests/detectors/backdoor/0.7.6/backdoor.sol#L4-L6)\n", "markdown": "Backdoor function found in [C.i_am_a_backdoor()](tests/e2e/detectors/test_data/backdoor/0.7.6/backdoor.sol#L4-L6)\n",
"first_markdown_element": "tests/detectors/backdoor/0.7.6/backdoor.sol#L4-L6", "first_markdown_element": "tests/e2e/detectors/test_data/backdoor/0.7.6/backdoor.sol#L4-L6",
"id": "8a9008f2f5cd23b34feb0235dcc30ecb8d09a10eff151b522939caead117ef7a", "id": "8a9008f2f5cd23b34feb0235dcc30ecb8d09a10eff151b522939caead117ef7a",
"check": "backdoor", "check": "backdoor",
"impact": "High", "impact": "High",

@ -8,9 +8,9 @@
"source_mapping": { "source_mapping": {
"start": 162, "start": 162,
"length": 84, "length": 84,
"filename_relative": "tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol", "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol", "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
9, 9,
@ -27,9 +27,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 923, "length": 923,
"filename_relative": "tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol", "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol", "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -93,9 +93,9 @@
"source_mapping": { "source_mapping": {
"start": 221, "start": 221,
"length": 18, "length": 18,
"filename_relative": "tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol", "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol", "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
10 10
@ -110,9 +110,9 @@
"source_mapping": { "source_mapping": {
"start": 162, "start": 162,
"length": 84, "length": 84,
"filename_relative": "tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol", "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol", "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
9, 9,
@ -129,9 +129,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 923, "length": 923,
"filename_relative": "tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol", "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol", "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -192,10 +192,10 @@
} }
} }
], ],
"description": "MyConc.bad1(bool) (tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol#9-11) uses a Boolean constant improperly:\n\t-(b || true) (tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol#10)\n", "description": "MyConc.bad1(bool) (tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol#9-11) uses a Boolean constant improperly:\n\t-(b || true) (tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol#10)\n",
"markdown": "[MyConc.bad1(bool)](tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol#L9-L11) uses a Boolean constant improperly:\n\t-[(b || true)](tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol#L10)\n", "markdown": "[MyConc.bad1(bool)](tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol#L9-L11) uses a Boolean constant improperly:\n\t-[(b || true)](tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol#L10)\n",
"first_markdown_element": "tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol#L9-L11", "first_markdown_element": "tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol#L9-L11",
"id": "4b8abd9aa6870f3044de67a84b3139e4a79c9ac13b4c0ed4f0772713f12c709b", "id": "09a51b67337dcc1a44f1b71413dc86887509771b9f6d854a5a5aaef94b590da0",
"check": "boolean-cst", "check": "boolean-cst",
"impact": "Medium", "impact": "Medium",
"confidence": "Medium" "confidence": "Medium"

@ -8,9 +8,9 @@
"source_mapping": { "source_mapping": {
"start": 162, "start": 162,
"length": 84, "length": 84,
"filename_relative": "tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol", "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol", "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
9, 9,
@ -27,9 +27,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 923, "length": 923,
"filename_relative": "tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol", "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol", "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -93,9 +93,9 @@
"source_mapping": { "source_mapping": {
"start": 221, "start": 221,
"length": 18, "length": 18,
"filename_relative": "tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol", "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol", "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
10 10
@ -110,9 +110,9 @@
"source_mapping": { "source_mapping": {
"start": 162, "start": 162,
"length": 84, "length": 84,
"filename_relative": "tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol", "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol", "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
9, 9,
@ -129,9 +129,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 923, "length": 923,
"filename_relative": "tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol", "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol", "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -192,10 +192,10 @@
} }
} }
], ],
"description": "MyConc.bad1(bool) (tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol#9-11) uses a Boolean constant improperly:\n\t-(b || true) (tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol#10)\n", "description": "MyConc.bad1(bool) (tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol#9-11) uses a Boolean constant improperly:\n\t-(b || true) (tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol#10)\n",
"markdown": "[MyConc.bad1(bool)](tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol#L9-L11) uses a Boolean constant improperly:\n\t-[(b || true)](tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol#L10)\n", "markdown": "[MyConc.bad1(bool)](tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol#L9-L11) uses a Boolean constant improperly:\n\t-[(b || true)](tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol#L10)\n",
"first_markdown_element": "tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol#L9-L11", "first_markdown_element": "tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol#L9-L11",
"id": "bd4514763d71bc7fcb2a681b1fe98928e9d1dd92882c5fe0480e52cba9130cfe", "id": "c460c0b8dd321a4461e2dcea9085607d80b3a205325797025a5429d0c75cb79b",
"check": "boolean-cst", "check": "boolean-cst",
"impact": "Medium", "impact": "Medium",
"confidence": "Medium" "confidence": "Medium"

@ -8,9 +8,9 @@
"source_mapping": { "source_mapping": {
"start": 162, "start": 162,
"length": 84, "length": 84,
"filename_relative": "tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol", "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol", "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
9, 9,
@ -27,9 +27,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 923, "length": 923,
"filename_relative": "tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol", "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol", "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -93,9 +93,9 @@
"source_mapping": { "source_mapping": {
"start": 221, "start": 221,
"length": 18, "length": 18,
"filename_relative": "tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol", "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol", "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
10 10
@ -110,9 +110,9 @@
"source_mapping": { "source_mapping": {
"start": 162, "start": 162,
"length": 84, "length": 84,
"filename_relative": "tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol", "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol", "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
9, 9,
@ -129,9 +129,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 923, "length": 923,
"filename_relative": "tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol", "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol", "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -192,10 +192,10 @@
} }
} }
], ],
"description": "MyConc.bad1(bool) (tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol#9-11) uses a Boolean constant improperly:\n\t-(b || true) (tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol#10)\n", "description": "MyConc.bad1(bool) (tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol#9-11) uses a Boolean constant improperly:\n\t-(b || true) (tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol#10)\n",
"markdown": "[MyConc.bad1(bool)](tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol#L9-L11) uses a Boolean constant improperly:\n\t-[(b || true)](tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol#L10)\n", "markdown": "[MyConc.bad1(bool)](tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol#L9-L11) uses a Boolean constant improperly:\n\t-[(b || true)](tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol#L10)\n",
"first_markdown_element": "tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol#L9-L11", "first_markdown_element": "tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol#L9-L11",
"id": "81067a443028f22790f44718bff947b7ec6de12b929bd89147d3b34044b3890d", "id": "fc02b6246c48038bd59be2cbf3717e8445d6ce6b1a9981696bce11e23589f63c",
"check": "boolean-cst", "check": "boolean-cst",
"impact": "Medium", "impact": "Medium",
"confidence": "Medium" "confidence": "Medium"

@ -8,9 +8,9 @@
"source_mapping": { "source_mapping": {
"start": 162, "start": 162,
"length": 84, "length": 84,
"filename_relative": "tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol", "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol", "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
9, 9,
@ -27,9 +27,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 923, "length": 923,
"filename_relative": "tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol", "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol", "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -93,9 +93,9 @@
"source_mapping": { "source_mapping": {
"start": 221, "start": 221,
"length": 18, "length": 18,
"filename_relative": "tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol", "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol", "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
10 10
@ -110,9 +110,9 @@
"source_mapping": { "source_mapping": {
"start": 162, "start": 162,
"length": 84, "length": 84,
"filename_relative": "tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol", "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol", "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
9, 9,
@ -129,9 +129,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 923, "length": 923,
"filename_relative": "tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol", "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol", "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -192,10 +192,10 @@
} }
} }
], ],
"description": "MyConc.bad1(bool) (tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol#9-11) uses a Boolean constant improperly:\n\t-(b || true) (tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol#10)\n", "description": "MyConc.bad1(bool) (tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol#9-11) uses a Boolean constant improperly:\n\t-(b || true) (tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol#10)\n",
"markdown": "[MyConc.bad1(bool)](tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol#L9-L11) uses a Boolean constant improperly:\n\t-[(b || true)](tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol#L10)\n", "markdown": "[MyConc.bad1(bool)](tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol#L9-L11) uses a Boolean constant improperly:\n\t-[(b || true)](tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol#L10)\n",
"first_markdown_element": "tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol#L9-L11", "first_markdown_element": "tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol#L9-L11",
"id": "d96572f8601700902d157c2b4ad0b66254eba7a6d9c83710f26ea8cbdf2085fa", "id": "9e4c23f1bdd358acadcd6b0460f26e62cfae9d0f4570df2c540a65f55e47ada0",
"check": "boolean-cst", "check": "boolean-cst",
"impact": "Medium", "impact": "Medium",
"confidence": "Medium" "confidence": "Medium"

@ -8,9 +8,9 @@
"source_mapping": { "source_mapping": {
"start": 139, "start": 139,
"length": 84, "length": 84,
"filename_relative": "tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol", "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol", "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
7, 7,
@ -27,9 +27,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 578, "length": 578,
"filename_relative": "tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol", "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol", "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -74,9 +74,9 @@
"source_mapping": { "source_mapping": {
"start": 198, "start": 198,
"length": 18, "length": 18,
"filename_relative": "tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol", "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol", "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
8 8
@ -91,9 +91,9 @@
"source_mapping": { "source_mapping": {
"start": 139, "start": 139,
"length": 84, "length": 84,
"filename_relative": "tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol", "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol", "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
7, 7,
@ -110,9 +110,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 578, "length": 578,
"filename_relative": "tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol", "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol", "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -154,10 +154,10 @@
} }
} }
], ],
"description": "MyConc.bad1(bool) (tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol#7-9) compares to a boolean constant:\n\t-(b == true) (tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol#8)\n", "description": "MyConc.bad1(bool) (tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol#7-9) compares to a boolean constant:\n\t-(b == true) (tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol#8)\n",
"markdown": "[MyConc.bad1(bool)](tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol#L7-L9) compares to a boolean constant:\n\t-[(b == true)](tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol#L8)\n", "markdown": "[MyConc.bad1(bool)](tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol#L7-L9) compares to a boolean constant:\n\t-[(b == true)](tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol#L8)\n",
"first_markdown_element": "tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol#L7-L9", "first_markdown_element": "tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol#L7-L9",
"id": "55ba7d7edfd3cc9012d1fbd9d2ba12a488d950a885c3664fe080b90288a2c715", "id": "a5db2afbaf09297a0a2f82a2b331ad7897fb9d351c751370fdb21b75432a1e61",
"check": "boolean-equal", "check": "boolean-equal",
"impact": "Informational", "impact": "Informational",
"confidence": "High" "confidence": "High"

@ -8,9 +8,9 @@
"source_mapping": { "source_mapping": {
"start": 139, "start": 139,
"length": 84, "length": 84,
"filename_relative": "tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol", "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol", "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
7, 7,
@ -27,9 +27,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 578, "length": 578,
"filename_relative": "tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol", "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol", "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -74,9 +74,9 @@
"source_mapping": { "source_mapping": {
"start": 198, "start": 198,
"length": 18, "length": 18,
"filename_relative": "tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol", "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol", "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
8 8
@ -91,9 +91,9 @@
"source_mapping": { "source_mapping": {
"start": 139, "start": 139,
"length": 84, "length": 84,
"filename_relative": "tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol", "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol", "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
7, 7,
@ -110,9 +110,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 578, "length": 578,
"filename_relative": "tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol", "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol", "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -154,10 +154,10 @@
} }
} }
], ],
"description": "MyConc.bad1(bool) (tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol#7-9) compares to a boolean constant:\n\t-(b == true) (tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol#8)\n", "description": "MyConc.bad1(bool) (tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol#7-9) compares to a boolean constant:\n\t-(b == true) (tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol#8)\n",
"markdown": "[MyConc.bad1(bool)](tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol#L7-L9) compares to a boolean constant:\n\t-[(b == true)](tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol#L8)\n", "markdown": "[MyConc.bad1(bool)](tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol#L7-L9) compares to a boolean constant:\n\t-[(b == true)](tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol#L8)\n",
"first_markdown_element": "tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol#L7-L9", "first_markdown_element": "tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol#L7-L9",
"id": "be01fe651d102dc47ca3eb623ba9078138896f662948665b8d4e03780305c085", "id": "deeaa11969ba009e66a9ad06eb8ee15a359b785673d245669f54cbe397b7d1b6",
"check": "boolean-equal", "check": "boolean-equal",
"impact": "Informational", "impact": "Informational",
"confidence": "High" "confidence": "High"

@ -8,9 +8,9 @@
"source_mapping": { "source_mapping": {
"start": 139, "start": 139,
"length": 84, "length": 84,
"filename_relative": "tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol", "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol", "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
7, 7,
@ -27,9 +27,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 578, "length": 578,
"filename_relative": "tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol", "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol", "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -74,9 +74,9 @@
"source_mapping": { "source_mapping": {
"start": 198, "start": 198,
"length": 18, "length": 18,
"filename_relative": "tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol", "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol", "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
8 8
@ -91,9 +91,9 @@
"source_mapping": { "source_mapping": {
"start": 139, "start": 139,
"length": 84, "length": 84,
"filename_relative": "tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol", "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol", "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
7, 7,
@ -110,9 +110,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 578, "length": 578,
"filename_relative": "tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol", "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol", "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -154,10 +154,10 @@
} }
} }
], ],
"description": "MyConc.bad1(bool) (tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol#7-9) compares to a boolean constant:\n\t-(b == true) (tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol#8)\n", "description": "MyConc.bad1(bool) (tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol#7-9) compares to a boolean constant:\n\t-(b == true) (tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol#8)\n",
"markdown": "[MyConc.bad1(bool)](tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol#L7-L9) compares to a boolean constant:\n\t-[(b == true)](tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol#L8)\n", "markdown": "[MyConc.bad1(bool)](tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol#L7-L9) compares to a boolean constant:\n\t-[(b == true)](tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol#L8)\n",
"first_markdown_element": "tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol#L7-L9", "first_markdown_element": "tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol#L7-L9",
"id": "0f863694c7b456673256b0f8002c9ac9f050b89b9ec3c86936c6399b3eb4b2e1", "id": "71051c6206bde91cead25076a2ea429b95f552f468ca348b481d0af1ac178b34",
"check": "boolean-equal", "check": "boolean-equal",
"impact": "Informational", "impact": "Informational",
"confidence": "High" "confidence": "High"

@ -8,9 +8,9 @@
"source_mapping": { "source_mapping": {
"start": 139, "start": 139,
"length": 84, "length": 84,
"filename_relative": "tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol", "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol", "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
7, 7,
@ -27,9 +27,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 578, "length": 578,
"filename_relative": "tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol", "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol", "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -74,9 +74,9 @@
"source_mapping": { "source_mapping": {
"start": 198, "start": 198,
"length": 18, "length": 18,
"filename_relative": "tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol", "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol", "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
8 8
@ -91,9 +91,9 @@
"source_mapping": { "source_mapping": {
"start": 139, "start": 139,
"length": 84, "length": 84,
"filename_relative": "tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol", "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol", "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
7, 7,
@ -110,9 +110,9 @@
"source_mapping": { "source_mapping": {
"start": 0, "start": 0,
"length": 578, "length": 578,
"filename_relative": "tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol", "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol",
"filename_absolute": "/GENERIC_PATH", "filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol", "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol",
"is_dependency": false, "is_dependency": false,
"lines": [ "lines": [
1, 1,
@ -154,10 +154,10 @@
} }
} }
], ],
"description": "MyConc.bad1(bool) (tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol#7-9) compares to a boolean constant:\n\t-(b == true) (tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol#8)\n", "description": "MyConc.bad1(bool) (tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol#7-9) compares to a boolean constant:\n\t-(b == true) (tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol#8)\n",
"markdown": "[MyConc.bad1(bool)](tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol#L7-L9) compares to a boolean constant:\n\t-[(b == true)](tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol#L8)\n", "markdown": "[MyConc.bad1(bool)](tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol#L7-L9) compares to a boolean constant:\n\t-[(b == true)](tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol#L8)\n",
"first_markdown_element": "tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol#L7-L9", "first_markdown_element": "tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol#L7-L9",
"id": "7c89c8f828e73eb875b8f06bb1404ed2271cc5806f167d621604c23f62705f60", "id": "a5ef55035c29649a345f5fce2b02fd6b0a1e5bf69ef05b6c725247da59487715",
"check": "boolean-equal", "check": "boolean-equal",
"impact": "Informational", "impact": "Informational",
"confidence": "High" "confidence": "High"

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save