Skip to content

Commit 36b2ad3

Browse files
DanilChapovalovWebRTC LUCI CQ
authored andcommitted
Zero extra bytes of FEC recovered packet
rtc::CopyOnWriteBuffer::SetSize extends buffer with uninitialized memory by design. It is up to the user of the rtc::CopyOnWriteBuffer to ensure it is initialized. (cherry picked from commit f52e015) No-Try: true Bug: chromium:1403397 Change-Id: Ic0111a84bda32379770ddb1c7d24bee10d96b7a4 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/289041 Reviewed-by: Rasmus Brandt <[email protected]> Commit-Queue: Danil Chapovalov <[email protected]> Cr-Original-Commit-Position: refs/heads/main@{#38959} Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291540 Reviewed-by: Per Kjellander <[email protected]> Cr-Commit-Position: refs/branch-heads/5481@{#3} Cr-Branched-From: 2e1a9a4-refs/heads/main@{#38901}
1 parent e0efbd4 commit 36b2ad3

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

modules/rtp_rtcp/source/forward_error_correction.cc

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -573,7 +573,13 @@ bool ForwardErrorCorrection::FinishPacketRecovery(
573573
"typical IP packet, and is thus dropped.";
574574
return false;
575575
}
576+
size_t old_size = recovered_packet->pkt->data.size();
576577
recovered_packet->pkt->data.SetSize(new_size);
578+
data = recovered_packet->pkt->data.MutableData();
579+
if (new_size > old_size) {
580+
memset(data + old_size, 0, new_size - old_size);
581+
}
582+
577583
// Set the SN field.
578584
ByteWriter<uint16_t>::WriteBigEndian(&data[2], recovered_packet->seq_num);
579585
// Set the SSRC field.

0 commit comments

Comments
 (0)