)]}'
{
  "commit": "175ad6630a869831126dde80f0f9257f9c4c477f",
  "tree": "4a4381e7e190cce79840afde8d27e708fcc3d8b3",
  "parents": [
    "335f3659820e2e771f5165d215300567be478b13"
  ],
  "author": {
    "name": "NagyDonat",
    "email": "donat.nagy@ericsson.com",
    "time": "Tue Mar 19 14:12:27 2024 +0100"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Mar 19 14:12:27 2024 +0100"
  },
  "message": "[analyzer] Mention possibility of underflow in array overflow errors (#84201)\n\nThe checker alpha.security.ArrayBoundV2 performs bounds checking in two\r\nsteps: first it checks for underflow, and if it isn\u0027t guaranteed then it\r\nassumes that there is no underflow. After this, it checks for overflow,\r\nand if that\u0027s guaranteed or the index is tainted then it reports it.\r\n\r\nThis meant that in situations where overflow and underflow are both\r\npossible (but the index is either tainted or guaranteed to be invalid),\r\nthe checker was reporting just an overflow error.\r\n\r\nThis commit modifies the messages printed in these cases to mention the\r\npossibility of an underflow.\r\n\r\n---------\r\n\r\nCo-authored-by: Balazs Benics \u003cbenicsbalazs@gmail.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "29eb932584027d5a2766af68ff19a46a25cb6a67",
      "old_mode": 33188,
      "old_path": "clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp",
      "new_id": "f82288f1099e887e31eb24cfaf78fb86ccc1e92d",
      "new_mode": 33188,
      "new_path": "clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp"
    },
    {
      "type": "modify",
      "old_id": "0c3c67c6a546ad20c8abd845f9173bcf321b9497",
      "old_mode": 33188,
      "old_path": "clang/test/Analysis/out-of-bounds-diagnostics.c",
      "new_id": "92f983d8b1561290094258aff1dd50a1fda61775",
      "new_mode": 33188,
      "new_path": "clang/test/Analysis/out-of-bounds-diagnostics.c"
    },
    {
      "type": "modify",
      "old_id": "020e9579ac535c2442eea7b8ecd2758e4077d86f",
      "old_mode": 33188,
      "old_path": "clang/test/Analysis/taint-diagnostic-visitor.c",
      "new_id": "2ba7d9938fc3d86c9b0a6ec3f3ccc1cd0c6a3943",
      "new_mode": 33188,
      "new_path": "clang/test/Analysis/taint-diagnostic-visitor.c"
    }
  ]
}
