)]}'
{
  "commit": "9600e77d854090669817d22aa2fc941ee92aaacd",
  "tree": "6d02ff90f67dea371e73c724be9b2a615cec4594",
  "parents": [
    "3fda3224b32e72ebaab8c67adc61aad0814a4a58"
  ],
  "author": {
    "name": "Harald Alvestrand",
    "email": "hta@webrtc.org",
    "time": "Fri Apr 10 11:52:19 2026"
  },
  "committer": {
    "name": "webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Wed Apr 22 10:08:09 2026"
  },
  "message": "[M148] Fix TOCTOU race in RtpVideoSender::OnVideoLayersAllocationUpdated\n\nRtpVideoSender::OnVideoLayersAllocationUpdated runs on the encoder thread,\nchecks if it\u0027s active, and then posts a task to the transport queue to\nupdate module status.\n\nIf SetSending(false) is called on the transport queue before the posted\ntask runs, the task would previously re-register modules in PacketRouter\neven though active_ was false. This lead to dangling pointers in\nPacketRouter when the RtpVideoSender was destroyed.\n\nThis CL adds an IsActive() check inside the posted task to ensure we don\u0027t\nre-register modules if the sender has been deactivated.\n\n(cherry picked from commit 77d265670fa7d7f358c86c54704a6e97c27a6005)\n\nBug: chromium:500767595\nTest: RtpVideoSenderTest.PostTaskRaceDoesNotLeadToDanglingPointer\nChange-Id: I18827c34bece7f5ebc41d159d9e19e356afbc404\nReviewed-on: https://webrtc-review.googlesource.com/c/src/+/462880\nCommit-Queue: Harald Alvestrand \u003chta@webrtc.org\u003e\nReviewed-by: Erik Språng \u003csprang@webrtc.org\u003e\nCr-Original-Commit-Position: refs/heads/main@{#47384}\nReviewed-on: https://webrtc-review.googlesource.com/c/src/+/465961\nCr-Commit-Position: refs/branch-heads/7778@{#5}\nCr-Branched-From: ca896b7ffef011bbf6957c99d413c5aac602c99f-refs/heads/main@{#47319}\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "815d28a81bab06479c73cf6c64a7990b59441fc0",
      "old_mode": 33188,
      "old_path": "call/BUILD.gn",
      "new_id": "a78433233af51d940d4df765fb3f9d3de4132eb4",
      "new_mode": 33188,
      "new_path": "call/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "73e88987845d6a7a6cac3270d4c7a7af9e36bc09",
      "old_mode": 33188,
      "old_path": "call/rtp_video_sender.cc",
      "new_id": "7267add42b79c79412ed0453c22fc27b06458f26",
      "new_mode": 33188,
      "new_path": "call/rtp_video_sender.cc"
    },
    {
      "type": "modify",
      "old_id": "a979e05db747a04e6522b5a66ddf3f59ce548083",
      "old_mode": 33188,
      "old_path": "call/rtp_video_sender_unittest.cc",
      "new_id": "d7d30dfb2908b1d36c7a392b353b9458cc9d2d34",
      "new_mode": 33188,
      "new_path": "call/rtp_video_sender_unittest.cc"
    }
  ]
}
