)]}'
{
  "commit": "5bb7ba6222f7bdee30835c40f2c2bc9c98157c70",
  "tree": "86130f22ec39c4707d1192a3f5bf00299014b13c",
  "parents": [
    "f35e9fa478e25266f7a72aed5cd34437c6aa7c39"
  ],
  "author": {
    "name": "LoboQ1ng",
    "email": "xpess@qq.com",
    "time": "Sat Aug 09 02:48:50 2025 +0800"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Aug 08 20:48:50 2025 +0200"
  },
  "message": "[analyzer] Detect use-after-free for field address (e.g., \u0026ptr-\u003efield) (#152462)\n\nThis patch improves MallocChecker to detect use-after-free bugs when\na freed structure\u0027s field is passed by address (e.g., `\u0026ptr-\u003efield`).\n\nPreviously, MallocChecker would miss such cases, as it only checked the\ntop-level symbol of argument values.\nThis patch analyzes the base region of arguments and extracts the\nsymbolic region (if any), allowing UAF detection even for field address\nexpressions.\n\nFixes #152446",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "369d6194dbb651a4bbb73d9b4153f89324ee4380",
      "old_mode": 33188,
      "old_path": "clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp",
      "new_id": "efb980962e81101783ee1c6fd8e576acfe8a8d81",
      "new_mode": 33188,
      "new_path": "clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d6aa85657fd46ac0bb322e005472eb17aa599103",
      "new_mode": 33188,
      "new_path": "clang/test/Analysis/malloc-checker-arg-uaf.c"
    }
  ]
}
