| commit | 63a59de808ba7669e60bded703e71f360e5337e0 | [log] [tgz] |
|---|---|---|
| author | Victor Boivie <boivie@webrtc.org> | Fri Sep 05 09:05:34 2025 |
| committer | WebRTC LUCI CQ <webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com> | Fri Sep 05 12:11:01 2025 |
| tree | 38ea6c6a56d04563cef4965caaf3763a7082dd8b | |
| parent | 5b274054af552689fefcb20b08428c2d44fa0354 [diff] |
dcsctp: Avoid iterator invalidation The ExpireOutstandingChunks method iterated through the `outstanding_data_` container while conditionally calling `AbandonAllFor`. The `AbandonAllFor` method can, in some cases, add new elements to `outstanding_data_`, which invalidates the iterators used by the loop in `ExpireOutstandingChunks`. This could lead to undefined behavior. This aligns the C++ implementation to the Rust dcsctp port, which handles this correctly by using a two-pass approach. Bug: chromium:443213199 Change-Id: Ib5ac73b743c5ed900a69806088780c213536a4a6 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/408002 Reviewed-by: Emil Lundmark <lndmrk@webrtc.org> Commit-Queue: Emil Lundmark <lndmrk@webrtc.org> Auto-Submit: Victor Boivie <boivie@webrtc.org> Cr-Commit-Position: refs/heads/main@{#45566}
WebRTC is a free, open software project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose.
Our mission: To enable rich, high-quality RTC applications to be developed for the browser, mobile platforms, and IoT devices, and allow them all to communicate via a common set of protocols.
The WebRTC initiative is a project supported by Google, Mozilla and Opera, amongst others.
See here for instructions on how to get started developing with the native code.
Authoritative list of directories that contain the native API header files.