Chromium Code Reviews| Index: webrtc/test/fuzzers/ulpfec_header_reader_fuzzer.cc |
| diff --git a/webrtc/test/fuzzers/ulpfec_header_reader_fuzzer.cc b/webrtc/test/fuzzers/ulpfec_header_reader_fuzzer.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..b06c29e3a929dcd6ee5c64602e2357c0e78c0b57 |
| --- /dev/null |
| +++ b/webrtc/test/fuzzers/ulpfec_header_reader_fuzzer.cc |
| @@ -0,0 +1,34 @@ |
| +/* |
| + * 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/scoped_ref_ptr.h" |
| +#include "webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h" |
| +#include "webrtc/modules/rtp_rtcp/source/forward_error_correction.h" |
| +#include "webrtc/modules/rtp_rtcp/source/ulpfec_header_reader_writer.h" |
| + |
| +namespace webrtc { |
| + |
| +using Packet = ForwardErrorCorrection::Packet; |
| + |
| +void FuzzOneInput(const uint8_t* data, size_t size) { |
| + if (size > IP_PACKET_SIZE) { |
|
stefan-webrtc
2016/09/13 10:42:21
Instead of doing this you can just copy at most IP
brandtr
2016/09/13 10:59:28
Done.
|
| + return; |
| + } |
| + |
| + ForwardErrorCorrection::ReceivedFecPacket packet; |
| + packet.pkt = rtc::scoped_refptr<Packet>(new Packet()); |
| + memcpy(packet.pkt->data, data, size); |
| + packet.pkt->length = size; |
| + |
| + UlpfecHeaderReader ulpfec_reader; |
| + ulpfec_reader.ReadFecHeader(&packet); |
| +} |
| + |
| +} // namespace webrtc |