)]}'
{
  "commit": "37905ab50503cb442aac9a8a28ac7306416dee39",
  "tree": "6322db829bd51cb929c1eafa9c37fc18b3fd7ff4",
  "parents": [
    "366c2c089a7a883852e889577459b9f5fe5dadac"
  ],
  "author": {
    "name": "Brian Sheedy",
    "email": "bsheedy@google.com",
    "time": "Mon Nov 17 17:14:18 2025 -0800"
  },
  "committer": {
    "name": "Dawn LUCI CQ",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Mon Nov 17 17:14:18 2025 -0800"
  },
  "message": "Fix MapAsyncAndWait use-after-free\n\nFixes an issue where the callback registered in\nDawnTestBase::MapAsyncAndWait could cause an access violation during\nglobal test teardown due to trying to run a callback that was allocated\non the stack and had already gone out of scope. This only occurred when\ninstance.WaitAny() timed out, which would cause the callback to still\nbe around until the instance got destroyed and ensured that all pending\ncallbacks were complete.\n\nNow, the actual callback to run is provided via a shared_ptr and the\nlambda provided to buffer.MapAsync() checks if it is null before running\nit. After instance.WaitAny() returns but before we make any asserts, we\nset the pointer to null, preventing the soon-to-be-dangling pointer from\nbeing used in the future.\n\nThis is meant as a temporary workaround, as WaitAny() should always run\nthe provided callback. This can be reverted once the underlying issue\nis fixed.\n\nBug: 459864803, 460743383\nChange-Id: I5384e74ff6ab9da6104b07e6d9d235bf5d4b40c2\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/273736\nCommit-Queue: Brian Sheedy \u003cbsheedy@google.com\u003e\nReviewed-by: Loko Kung \u003clokokung@google.com\u003e\nAuto-Submit: Brian Sheedy \u003cbsheedy@google.com\u003e\nReviewed-by: Kai Ninomiya \u003ckainino@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c6ca59377d9005f03c9a19f056696c984c98a302",
      "old_mode": 33188,
      "old_path": "src/dawn/tests/DawnTest.cpp",
      "new_id": "dad7286b8d7d1e533ada4829a0356d6679d03d57",
      "new_mode": 33188,
      "new_path": "src/dawn/tests/DawnTest.cpp"
    }
  ]
}
