commit | abf1e0bd405e2be8aad7e494e69242c7f5581ccb | [log] [tgz] |
---|---|---|
author | David Benjamin <davidben@webrtc.org> | Fri Mar 22 22:20:09 2024 |
committer | WebRTC LUCI CQ <webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com> | Wed Apr 03 12:45:57 2024 |
tree | 0833454a1f6760e60024451874873e50078e8b22 | |
parent | 80256a017d8ea9c42d94fffc682b7c6f99edf37f [diff] |
Replace a memcpy with std::copy_n memcpy has a bug where it doesn't work with empty slices whose pointer is null. C++ functions in <algorithm> have this bug fixed and, in a good STL, will specialize down to memcpy or memmove anyway. This fixes a bunch of UBSan failures in Chromium, such as https://luci-milo.appspot.com/ui/inv/build-8752767322372882913/test-results?q=RTCEncodedVideoFrameTest.ConstructorCopiesMetadata&sortby=&groupby= See https://davidben.net/2024/01/15/empty-slices.html Bug: chromium:40248746 Change-Id: Ibfb9c4d7b44df53766a16e40fabd0a374140d89c Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/344260 Auto-Submit: David Benjamin <davidben@webrtc.org> Commit-Queue: Harald Alvestrand <hta@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/main@{#41989}
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.