Simple RTCP receiver fuzzer.

Doesn't utilize the clock or any callbacks out of the receiver but
should still be useful to test input packet parsing.

BUG=webrtc:4771
R=danilchap@webrtc.org

Review URL: https://codereview.webrtc.org/1716143002 .

Cr-Commit-Position: refs/heads/master@{#11717}
This commit is contained in:
Peter Boström 2016-02-23 11:35:30 +01:00
parent 79d7a499c0
commit ba3e25e502
2 changed files with 39 additions and 0 deletions

View File

@ -66,6 +66,15 @@ webrtc_fuzzer_test("producer_fec_fuzzer") {
]
}
webrtc_fuzzer_test("rtcp_receiver_fuzzer") {
sources = [
"rtcp_receiver_fuzzer.cc",
]
deps = [
"../../modules/rtp_rtcp/",
]
}
source_set("audio_decoder_fuzzer") {
public_configs = [ "../..:common_inherited_config" ]
sources = [

View File

@ -0,0 +1,30 @@
/*
* Copyright (c) 2015 The WebRTC project authors. All Rights Reserved.
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source
* tree. An additional intellectual property rights grant can be found
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
*/
#include "webrtc/base/checks.h"
#include "webrtc/base/scoped_ptr.h"
#include "webrtc/modules/rtp_rtcp/source/rtcp_receiver.h"
#include "webrtc/system_wrappers/include/clock.h"
namespace webrtc {
void FuzzOneInput(const uint8_t* data, size_t size) {
RTCPUtility::RTCPParserV2 rtcp_parser(data, size, true);
if (!rtcp_parser.IsValid())
return;
webrtc::SimulatedClock clock(1234);
RTCPReceiver receiver(&clock, false, nullptr, nullptr, nullptr, nullptr,
nullptr);
RTCPHelp::RTCPPacketInformation rtcp_packet_information;
receiver.IncomingRTCPPacket(rtcp_packet_information, &rtcp_parser);
}
} // namespace webrtc