blob: f373e6cf9f1a1e31d86557ad987fe9fa3d48ba8d [file] [log] [blame]
katrielc44905cf2016-07-07 05:52:24 -07001/*
2* Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
3*
4* Use of this source code is governed by a BSD-style license
5* that can be found in the LICENSE file in the root of the source
6* tree. An additional intellectual property rights grant can be found
7* in the file PATENTS. All contributing project authors may
8* be found in the AUTHORS file in the root of the source tree.
9*/
10
11#include <stddef.h>
12#include <stdint.h>
13
14#include "webrtc/p2p/base/pseudotcp.h"
15
16namespace webrtc {
17class FakeIPseudoTcpNotify : public cricket::IPseudoTcpNotify {
18 public:
19 void OnTcpOpen(cricket::PseudoTcp* tcp) {}
20 void OnTcpReadable(cricket::PseudoTcp* tcp) {}
21 void OnTcpWriteable(cricket::PseudoTcp* tcp) {}
22 void OnTcpClosed(cricket::PseudoTcp* tcp, uint32_t error) {}
23
24 cricket::IPseudoTcpNotify::WriteResult TcpWritePacket(cricket::PseudoTcp* tcp,
25 const char* buffer,
26 size_t len) {
27 return cricket::IPseudoTcpNotify::WriteResult::WR_SUCCESS;
28 }
29};
30
31struct Environment {
32 cricket::PseudoTcp* ptcp;
33 explicit Environment(cricket::IPseudoTcpNotify* notifier) {
34 ptcp = new cricket::PseudoTcp(notifier, 0);
35 }
36};
37
38Environment* env = new Environment(new FakeIPseudoTcpNotify());
39
40void FuzzOneInput(const uint8_t* data, size_t size) {
41 env->ptcp->NotifyPacket(reinterpret_cast<const char*>(data), size);
42}
43} // namespace webrtc