)]}'
{
  "commit": "dea08c2b67f38dba707003374f41b2277ab564d4",
  "tree": "298c17718799af28109dc868aa90dcb88186235f",
  "parents": [
    "db973cea7cae3a14c89fc57ea3717b7313d24b97"
  ],
  "author": {
    "name": "Balázs Benics",
    "email": "108414871+balazs-benics-sonarsource@users.noreply.github.com",
    "time": "Fri Feb 28 15:48:31 2025 +0100"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Feb 28 15:48:31 2025 +0100"
  },
  "message": "Fix RegionStore assertion failure after #127602 (#129224)\n\nBasically, we may leave the loop because if exhaust the fields, array\nelements or other subobjects to initialize.\nIn that case, the Bindings may be in an exhausted state, thus no further\naddBinding calls are allowed.\n\nLet\u0027s harden the code by sprinkling some early exists in the recursive\ndispatcher functions.\nAnd to actually fix the issue, I added a check guarding the single\nunguarded addBinding right after a loop I mentioned.\n\nFixes #129211",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "620fc117c6789185f0ca00fa972caa04a20284d2",
      "old_mode": 33188,
      "old_path": "clang/lib/StaticAnalyzer/Core/RegionStore.cpp",
      "new_id": "550a276c66c71e5c9ba4c5ff4764f193547a20c2",
      "new_mode": 33188,
      "new_path": "clang/lib/StaticAnalyzer/Core/RegionStore.cpp"
    },
    {
      "type": "modify",
      "old_id": "9e80a2e688575ac34caeda2d98e86d5c5f1f4364",
      "old_mode": 33188,
      "old_path": "clang/test/Analysis/region-store.cpp",
      "new_id": "cb3313cbbb3134549884878362b6d4eca49bb535",
      "new_mode": 33188,
      "new_path": "clang/test/Analysis/region-store.cpp"
    }
  ]
}
