)]}'
{
  "commit": "3180a5ad0663900a39adf4b9974052c356c835fe",
  "tree": "402e324d64d5f30e672a24cc158ea1dc8d90e059",
  "parents": [
    "35ba0c5cd58f1d922b68ba06cfe2ccd5bb407a59"
  ],
  "author": {
    "name": "Victor Boivie",
    "email": "boivie@webrtc.org",
    "time": "Thu May 05 10:08:37 2022"
  },
  "committer": {
    "name": "WebRTC LUCI CQ",
    "email": "webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Thu May 05 12:06:48 2022"
  },
  "message": "dcsctp: Reset send queue when recreating TCB\n\nThis is an issue found in fuzzer, and doesn\u0027t really happen in WebRTC\nas it never closes the connection and reconnects.\n\nThe issue is that the send queue outlives any connection since you\u0027re\nallowed to send messages (well, enqueue them) before the association is\nfully connected. So the send queue is always present but the TCB\n(information about the connection) is torn down when the connection is\nclosed for example. And the TCB holds the Stream Reset handler, which is\nresponsible for e.g. keeping track of stream reset sequence numbers and\nsuch - which is tied to the connection.\n\nSo to ensure that the Stream Reset Handler is in charge of deciding\nif a stream reset is taking place, make sure that the send queue is in\na known good state when the Stream Reset handler is created.\n\nBug: webrtc:13994, chromium:1320194\nChange-Id: I940e4690ac9237ac99dd69a9ffc060cdac61711d\nReviewed-on: https://webrtc-review.googlesource.com/c/src/+/261260\nReviewed-by: Harald Alvestrand \u003chta@webrtc.org\u003e\nCommit-Queue: Victor Boivie \u003cboivie@webrtc.org\u003e\nCr-Commit-Position: refs/heads/main@{#36779}\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "cc9a71eae8f506ea51ab73c2245e6be5383c5c3f",
      "old_mode": 33188,
      "old_path": "net/dcsctp/socket/dcsctp_socket.cc",
      "new_id": "4f445fb6f87c84652fa8c39846cdba89b175b25f",
      "new_mode": 33188,
      "new_path": "net/dcsctp/socket/dcsctp_socket.cc"
    },
    {
      "type": "modify",
      "old_id": "914bea34c423621aebcba3182755ce0eda7e861c",
      "old_mode": 33188,
      "old_path": "net/dcsctp/socket/dcsctp_socket_test.cc",
      "new_id": "4c03acab458a7d09a39aba452b0931e4e773df6d",
      "new_mode": 33188,
      "new_path": "net/dcsctp/socket/dcsctp_socket_test.cc"
    },
    {
      "type": "modify",
      "old_id": "8c240f10438974516738adb6194a49cc60d0f73b",
      "old_mode": 33188,
      "old_path": "net/dcsctp/socket/transmission_control_block.h",
      "new_id": "0971c6731751f3cdd81552fd92972cf8fdd35015",
      "new_mode": 33188,
      "new_path": "net/dcsctp/socket/transmission_control_block.h"
    }
  ]
}
