Fix several UBsan issues with memcpy

Most of the changes are trivial.

Bug: webrtc:14432
Change-Id: I0444527bf57c72c8d65f69754b4a4a1c1d7b2e92
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/275340
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Victor Boivie <boivie@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38074}
This commit is contained in:
Byoungchan Lee
2022-09-13 17:53:49 +09:00
committed by WebRTC LUCI CQ
parent a0adeb7059
commit 8c725f368c
6 changed files with 23 additions and 8 deletions

View File

@ -672,8 +672,12 @@ bool RtpPacket::RemoveExtension(ExtensionType type) {
}
// Copy payload data to new packet.
memcpy(new_packet.AllocatePayload(payload_size()), payload().data(),
payload_size());
if (payload_size() > 0) {
memcpy(new_packet.AllocatePayload(payload_size()), payload().data(),
payload_size());
} else {
new_packet.SetPayloadSize(0);
}
// Allocate padding -- must be last!
new_packet.SetPadding(padding_size());