| Index: webrtc/modules/rtp_rtcp/source/fec_receiver_unittest.cc | 
| diff --git a/webrtc/modules/rtp_rtcp/source/fec_receiver_unittest.cc b/webrtc/modules/rtp_rtcp/source/fec_receiver_unittest.cc | 
| index 31baf4e767a8997242ce30cba2645e7a94f0298a..3cd2a9e462635c4aa13c654c92da7322c900fb7d 100644 | 
| --- a/webrtc/modules/rtp_rtcp/source/fec_receiver_unittest.cc | 
| +++ b/webrtc/modules/rtp_rtcp/source/fec_receiver_unittest.cc | 
| @@ -16,6 +16,7 @@ | 
| #include "testing/gtest/include/gtest/gtest.h" | 
| #include "webrtc/base/scoped_ptr.h" | 
| #include "webrtc/modules/rtp_rtcp/interface/fec_receiver.h" | 
| +#include "webrtc/modules/rtp_rtcp/interface/rtp_header_parser.h" | 
| #include "webrtc/modules/rtp_rtcp/mocks/mock_rtp_rtcp.h" | 
| #include "webrtc/modules/rtp_rtcp/source/fec_test_helper.h" | 
| #include "webrtc/modules/rtp_rtcp/source/forward_error_correction.h" | 
| @@ -81,6 +82,10 @@ class ReceiverFecTest : public ::testing::Test { | 
| delete red_packet; | 
| } | 
|  | 
| +  static void SurvivesMaliciousPacket(const uint8_t* data, | 
| +                                      size_t length, | 
| +                                      uint8_t ulpfec_payload_type); | 
| + | 
| MockRtpData rtp_data_callback_; | 
| rtc::scoped_ptr<ForwardErrorCorrection> fec_; | 
| rtc::scoped_ptr<FecReceiver> receiver_fec_; | 
| @@ -362,4 +367,38 @@ TEST_F(ReceiverFecTest, OldFecPacketDropped) { | 
| DeletePackets(&media_packets); | 
| } | 
|  | 
| +void ReceiverFecTest::SurvivesMaliciousPacket(const uint8_t* data, | 
| +                                              size_t length, | 
| +                                              uint8_t ulpfec_payload_type) { | 
| +  webrtc::RTPHeader header; | 
| +  rtc::scoped_ptr<webrtc::RtpHeaderParser> parser( | 
| +      webrtc::RtpHeaderParser::Create()); | 
| +  ASSERT_TRUE(parser->Parse(data, length, &header)); | 
| + | 
| +  webrtc::NullRtpData null_callback; | 
| +  rtc::scoped_ptr<webrtc::FecReceiver> receiver_fec( | 
| +      webrtc::FecReceiver::Create(&null_callback)); | 
| + | 
| +  receiver_fec->AddReceivedRedPacket(header, data, length, ulpfec_payload_type); | 
| +} | 
| + | 
| +TEST_F(ReceiverFecTest, TruncatedPacketWithFBitSet) { | 
| +  const uint8_t kTruncatedPacket[] = {0x80, | 
| +                                      0x2a, | 
| +                                      0x68, | 
| +                                      0x71, | 
| +                                      0x29, | 
| +                                      0xa1, | 
| +                                      0x27, | 
| +                                      0x3a, | 
| +                                      0x29, | 
| +                                      0x12, | 
| +                                      0x2a, | 
| +                                      0x98, | 
| +                                      0xe0, | 
| +                                      0x29}; | 
| + | 
| +  SurvivesMaliciousPacket(kTruncatedPacket, sizeof(kTruncatedPacket), 100); | 
| +} | 
| + | 
| }  // namespace webrtc | 
|  |