webrtc/modules/rtp_rtcp/source
Sebastian Jansson a72d583271 Fix for potential out of bounds reading in rtcp::RemoteEstimate parser.
packet_size() includes the size of padding, this means that the size
check might incorrectly not trigger even if the payload is empty. In
turn this means that the ReadBigEndian call might read out of bounds
memory.

Refactored the code to reuse the App parsing code more, eliminating
the risk of this particular kind of error.

Bug: chromium:987507
Change-Id: Id8f3e292c3d30460d3cdb551f0a45070fdf8f022
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146716
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28680}
2019-07-25 10:54:05 +00:00
..
rtcp_packet Fix for potential out of bounds reading in rtcp::RemoteEstimate parser. 2019-07-25 10:54:05 +00:00
byte_io_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
byte_io.h Format almost everything. 2019-07-08 13:45:15 +00:00
contributing_sources_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
contributing_sources.cc Add RTP timestamp to contributing sources 2019-05-22 08:53:08 +00:00
contributing_sources.h Add RTP timestamp to contributing sources 2019-05-22 08:53:08 +00:00
dtmf_queue.cc [Cleanup] Add missing #include. Remove useless ones. 2018-10-23 11:32:56 +00:00
dtmf_queue.h Format almost everything. 2019-07-08 13:45:15 +00:00
fec_private_tables_bursty_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
fec_private_tables_bursty.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
fec_private_tables_bursty.h Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00
fec_private_tables_random.cc Remove part of the FEC code table that covers FEC code for group of 13-48 media packets, instead generate interleaved FEC code at run time. FEC code masks for protection of group of 1 - 12 media packets is not changed. 2018-04-18 14:35:17 +00:00
fec_private_tables_random.h Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00
fec_test_helper.cc Revert "Refactor FEC code to use COW buffers" 2019-07-11 19:55:28 +00:00
fec_test_helper.h Delete use of WebRtcRTPHeader from FEC test code 2019-03-12 09:40:02 +00:00
flexfec_header_reader_writer_unittest.cc Revert "Refactor FEC code to use COW buffers" 2019-07-11 19:55:28 +00:00
flexfec_header_reader_writer.cc Revert "Refactor FEC code to use COW buffers" 2019-07-11 19:55:28 +00:00
flexfec_header_reader_writer.h [Cleanup] Add missing #include. Remove useless ones. 2018-10-23 11:32:56 +00:00
flexfec_receiver_unittest.cc Revert "Refactor FEC code to use COW buffers" 2019-07-11 19:55:28 +00:00
flexfec_receiver.cc Revert "Refactor FEC code to use COW buffers" 2019-07-11 19:55:28 +00:00
flexfec_sender_unittest.cc Revert "Refactor FEC code to use COW buffers" 2019-07-11 19:55:28 +00:00
flexfec_sender.cc Revert "Refactor FEC code to use COW buffers" 2019-07-11 19:55:28 +00:00
forward_error_correction_internal.cc Format almost everything. 2019-07-08 13:45:15 +00:00
forward_error_correction_internal.h [Cleanup] Add missing #include. Remove useless ones. 2018-10-23 11:32:56 +00:00
forward_error_correction.cc Revert "Refactor FEC code to use COW buffers" 2019-07-11 19:55:28 +00:00
forward_error_correction.h Revert "Refactor FEC code to use COW buffers" 2019-07-11 19:55:28 +00:00
nack_rtx_unittest.cc Negotiation of LNTF controls instantiation of RTPSenderVideo::rtp_sequence_number_map_ 2019-05-24 13:02:06 +00:00
packet_loss_stats_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
packet_loss_stats.cc [Cleanup] Add missing #include. Remove useless ones. 2018-10-23 11:32:56 +00:00
packet_loss_stats.h Format almost everything. 2019-07-08 13:45:15 +00:00
playout_delay_oracle_unittest.cc Refactor PlayoutDelayOracle with separate update methods 2019-01-30 16:50:24 +00:00
playout_delay_oracle.cc Format almost everything. 2019-07-08 13:45:15 +00:00
playout_delay_oracle.h Move ownership of RTPSenderVideo one more level up, to RtpVideoSender 2019-03-04 16:57:49 +00:00
receive_statistics_impl.cc Make ReceiveStatisticsImpl::SetMaxReorderingThreshold apply per ssrc 2019-05-27 10:53:04 +00:00
receive_statistics_impl.h Format almost everything. 2019-07-08 13:45:15 +00:00
receive_statistics_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
remote_ntp_time_estimator_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
remote_ntp_time_estimator.cc [Cleanup] Add missing #include. Remove useless ones. 2018-10-23 11:32:56 +00:00
rtcp_nack_stats_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtcp_nack_stats.cc [Cleanup] Add missing #include. Remove useless ones. 2018-10-23 11:32:56 +00:00
rtcp_nack_stats.h Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
rtcp_packet_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtcp_packet.cc Enable padding bit in TransportFeedback packets 2019-02-12 11:55:34 +00:00
rtcp_packet.h Move rtc::FunctionView to the public API 2019-03-21 15:23:05 +00:00
rtcp_receiver_unittest.cc Reland "Pass RtpRtcp::Configuration to RtcpReceiver ctor and initialize ssrcs" 2019-07-12 17:35:13 +00:00
rtcp_receiver.cc Fix for potential out of bounds reading in rtcp::RemoteEstimate parser. 2019-07-25 10:54:05 +00:00
rtcp_receiver.h Adds remote estimate RTCP packet. 2019-07-24 10:17:26 +00:00
rtcp_sender_unittest.cc Reland "Add ability to set RTCP sender ssrc at construction time" 2019-07-12 17:32:43 +00:00
rtcp_sender.cc Adds remote estimate RTCP packet. 2019-07-24 10:17:26 +00:00
rtcp_sender.h Adds remote estimate RTCP packet. 2019-07-24 10:17:26 +00:00
rtcp_transceiver_config.cc Calculate RTT using ExtendedReports in RtcpTransceiver 2017-11-30 14:34:40 +00:00
rtcp_transceiver_config.h in RtcpTransceiver remove workaround for old bug in RtcpReceiver 2018-11-19 10:13:02 +00:00
rtcp_transceiver_impl_unittest.cc Removes TimeMicros interface from ThreadProcessingFakeClock. 2019-04-17 15:37:48 +00:00
rtcp_transceiver_impl.cc Use Abseil container algorithms in modules/rtp_rtcp/ 2019-03-29 16:47:33 +00:00
rtcp_transceiver_impl.h Stop using rtc::TaskQueue::Current in RtcpTransceiver 2019-03-07 10:51:54 +00:00
rtcp_transceiver_unittest.cc Avoid using global task queue factory in RtcpTransciever tests 2019-03-20 15:20:20 +00:00
rtcp_transceiver.cc Adds remote estimate RTCP packet. 2019-07-24 10:17:26 +00:00
rtcp_transceiver.h Adds remote estimate RTCP packet. 2019-07-24 10:17:26 +00:00
rtp_dependency_descriptor_extension.cc Add trait to Build/Parse DependencyDescriptor rtp header extension 2019-06-28 14:21:21 +00:00
rtp_dependency_descriptor_extension.h Add trait to Build/Parse DependencyDescriptor rtp header extension 2019-06-28 14:21:21 +00:00
rtp_dependency_descriptor_reader.h Add trait to Build/Parse DependencyDescriptor rtp header extension 2019-06-28 14:21:21 +00:00
rtp_dependency_descriptor_writer.h Add trait to Build/Parse DependencyDescriptor rtp header extension 2019-06-28 14:21:21 +00:00
rtp_fec_unittest.cc Revert "Refactor FEC code to use COW buffers" 2019-07-11 19:55:28 +00:00
rtp_format_h264_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_format_h264.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_format_h264.h Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_format_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_format_video_generic_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_format_video_generic.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_format_video_generic.h Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_format_vp8_test_helper.cc Cleanup RtpPacketizerVP8 tests 2018-08-31 08:13:45 +00:00
rtp_format_vp8_test_helper.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
rtp_format_vp8_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_format_vp8.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_format_vp8.h Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_format_vp9_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_format_vp9.cc Move frame_type member from RtpDepacketizer::ParsedPayload to RTPVideoHeader 2019-04-24 13:13:04 +00:00
rtp_format_vp9.h Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_format.cc Add option to configure raw RTP packetization per payload type. 2019-05-23 12:38:16 +00:00
rtp_format.h Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_generic_frame_descriptor_extension_unittest.cc Create version 01 of Generic Frame Descriptor - with discardability flag 2019-02-20 10:31:58 +00:00
rtp_generic_frame_descriptor_extension.cc Create version 01 of Generic Frame Descriptor - with discardability flag 2019-02-20 10:31:58 +00:00
rtp_generic_frame_descriptor_extension.h Create version 01 of Generic Frame Descriptor - with discardability flag 2019-02-20 10:31:58 +00:00
rtp_generic_frame_descriptor.cc Ensure GenericFrameDescriptor byte representation match 2018-12-04 11:52:25 +00:00
rtp_generic_frame_descriptor.h Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_header_extension_map_unittest.cc Move RtpHeaderExtensionMap::GetTotalLengthInBytes into own file 2018-10-03 17:25:31 +00:00
rtp_header_extension_map.cc Add writing and parsing of the abs-capture-time RTP header extension. 2019-07-03 14:07:36 +00:00
rtp_header_extension_size_unittest.cc Move RtpHeaderExtensionMap::GetTotalLengthInBytes into own file 2018-10-03 17:25:31 +00:00
rtp_header_extension_size.cc (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
rtp_header_extension_size.h Move RtpHeaderExtensionMap::GetTotalLengthInBytes into own file 2018-10-03 17:25:31 +00:00
rtp_header_extensions.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_header_extensions.h Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_header_parser.cc Reland "Replace RTPHeader memset with assignment from a fresh object." 2019-03-26 14:06:17 +00:00
rtp_packet_history_unittest.cc Fix issue with TransmissionOffset using new pacer code path 2019-07-24 11:24:57 +00:00
rtp_packet_history.cc Reset packet history on ssrc/seqno reset 2019-07-24 12:52:23 +00:00
rtp_packet_history.h Reset packet history on ssrc/seqno reset 2019-07-24 12:52:23 +00:00
rtp_packet_received.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_packet_received.h Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_packet_to_send.cc [Cleanup] Add missing #include. Remove useless ones. 2018-10-23 11:32:56 +00:00
rtp_packet_to_send.h Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_packet_unittest.cc Implements method on RtpPacket to extract extension. 2019-07-10 17:35:43 +00:00
rtp_packet.cc Revert "Refactor FEC code to use COW buffers" 2019-07-11 19:55:28 +00:00
rtp_packet.h Revert "Refactor FEC code to use COW buffers" 2019-07-11 19:55:28 +00:00
rtp_rtcp_config.h Delete unused constants from rtp_rtcp_config.h 2018-08-09 08:38:51 +00:00
rtp_rtcp_impl_unittest.cc Reland "Add ability to set RTCP sender ssrc at construction time" 2019-07-12 17:32:43 +00:00
rtp_rtcp_impl.cc Adds remote estimate RTCP packet. 2019-07-24 10:17:26 +00:00
rtp_rtcp_impl.h Adds remote estimate RTCP packet. 2019-07-24 10:17:26 +00:00
rtp_sender_audio_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_sender_audio.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_sender_audio.h Move towards always using packet type instead of priority in RTPSender 2019-06-24 10:12:26 +00:00
rtp_sender_unittest.cc Move RtpPacketSender and merge it with RtpPacketPacer. 2019-07-24 13:28:21 +00:00
rtp_sender_video_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_sender_video.cc Revert "Refactor FEC code to use COW buffers" 2019-07-11 19:55:28 +00:00
rtp_sender_video.h Move towards always using packet type instead of priority in RTPSender 2019-06-24 10:12:26 +00:00
rtp_sender.cc Move RtpPacketSender and merge it with RtpPacketPacer. 2019-07-24 13:28:21 +00:00
rtp_sender.h Move RtpPacketSender and merge it with RtpPacketPacer. 2019-07-24 13:28:21 +00:00
rtp_sequence_number_map_unittest.cc Add RtpSequenceNumberMap::InsertFrame() 2019-04-08 12:39:08 +00:00
rtp_sequence_number_map.cc Add RtpSequenceNumberMap::InsertFrame() 2019-04-08 12:39:08 +00:00
rtp_sequence_number_map.h Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_utility_unittest.cc Add writing and parsing of the abs-capture-time RTP header extension. 2019-07-03 14:07:36 +00:00
rtp_utility.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_utility.h Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_video_header.cc Add default values for PlayoutDelay in RTPVideoHeader. 2018-11-16 12:10:23 +00:00
rtp_video_header.h Move frame_type member from RtpDepacketizer::ParsedPayload to RTPVideoHeader 2019-04-24 13:13:04 +00:00
source_tracker_unittest.cc Remove sequence_number from RtpPacketInfo. 2019-06-14 11:21:42 +00:00
source_tracker.cc Add a tracker for RTCRtpContributingSource and RTCRtpSynchronizationSource. 2019-06-12 12:11:55 +00:00
source_tracker.h Add a tracker for RTCRtpContributingSource and RTCRtpSynchronizationSource. 2019-06-12 12:11:55 +00:00
time_util_unittest.cc Removes TimeMicros interface from ThreadProcessingFakeClock. 2019-04-17 15:37:48 +00:00
time_util.cc (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
time_util.h In ReceiveStatistics use monotonic clock instead of ntp clock 2018-11-26 10:31:44 +00:00
tmmbr_help.cc Format almost everything. 2019-07-08 13:45:15 +00:00
tmmbr_help.h Format almost everything. 2019-07-08 13:45:15 +00:00
ulpfec_generator_unittest.cc Revert "Refactor FEC code to use COW buffers" 2019-07-11 19:55:28 +00:00
ulpfec_generator.cc Revert "Refactor FEC code to use COW buffers" 2019-07-11 19:55:28 +00:00
ulpfec_generator.h Revert "Refactor FEC code to use COW buffers" 2019-07-11 19:55:28 +00:00
ulpfec_header_reader_writer_unittest.cc Revert "Refactor FEC code to use COW buffers" 2019-07-11 19:55:28 +00:00
ulpfec_header_reader_writer.cc Revert "Cleanup FEC code after refactoring" 2019-07-11 19:51:17 +00:00
ulpfec_header_reader_writer.h [Cleanup] Add missing #include. Remove useless ones. 2018-10-23 11:32:56 +00:00
ulpfec_receiver_impl.cc Revert "Refactor FEC code to use COW buffers" 2019-07-11 19:55:28 +00:00
ulpfec_receiver_impl.h Format almost everything. 2019-07-08 13:45:15 +00:00
ulpfec_receiver_unittest.cc Revert "Refactor FEC code to use COW buffers" 2019-07-11 19:55:28 +00:00