)]}'
{
  "commit": "161d2c84528ec9eb0c19bfb51024bca54353abc4",
  "tree": "db1691a8fab1928c0f2ee1f793a4f3a278060fc6",
  "parents": [
    "d76e0898a98291bf558ab6fb486b16c38e619eca"
  ],
  "author": {
    "name": "Victor Boivie",
    "email": "boivie@webrtc.org",
    "time": "Wed Dec 13 11:41:55 2023"
  },
  "committer": {
    "name": "WebRTC LUCI CQ",
    "email": "webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Wed Dec 13 14:21:12 2023"
  },
  "message": "dcsctp: Fix not using iteraters after NackItem\n\nOutstandingData::NackItem nacks a chunk, and if that chunk reaches its\npartial reliability critera, it will abandon the entire message. If that\nmessage hasn\u0027t been sent in full, a placeholder \"end\" message is\ninserted (see https://crbug.com/webrtc/12812). And when the message is\ninserted, any iterators may be invalidated (if e.g. std::deque would\nwant to grow the deque).\n\nSo ensure that there are no iterators used after having called NackItem.\nBy changing the interface of NackItem, and not passing an Item, but just\nthe TSN, this is encouraged. NackAll was rewritten as a two-pass\nalgorithm to first collect TSNs, then iterating that list, looking up\nthe items in the second pass (constant complexity).\n\nBug: chromium:1510364\nChange-Id: I5156b6d6a683184f290e71c98f16bc68ea2a562f\nReviewed-on: https://webrtc-review.googlesource.com/c/src/+/331320\nReviewed-by: Harald Alvestrand \u003chta@webrtc.org\u003e\nCommit-Queue: Victor Boivie \u003cboivie@webrtc.org\u003e\nReviewed-by: Sam Zackrisson \u003csaza@webrtc.org\u003e\nCr-Commit-Position: refs/heads/main@{#41374}\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4972fc5f1087a52db134ca6e8234f452d4a110a3",
      "old_mode": 33188,
      "old_path": "net/dcsctp/tx/outstanding_data.cc",
      "new_id": "ca639abc549c32e346fa5a966f3cbd2d40259261",
      "new_mode": 33188,
      "new_path": "net/dcsctp/tx/outstanding_data.cc"
    },
    {
      "type": "modify",
      "old_id": "82e78337b8367e649cc111c7f26cce3f2e3d9247",
      "old_mode": 33188,
      "old_path": "net/dcsctp/tx/outstanding_data.h",
      "new_id": "2a214975e60fca2ee475dc0767c618f8b0cebe8f",
      "new_mode": 33188,
      "new_path": "net/dcsctp/tx/outstanding_data.h"
    }
  ]
}
