blob: 6ca9eac8b2c61f3fbf89779c7c168de83d9d5adc [file] [log] [blame]
katrielc1d4fefb2016-07-06 15:02:001/*
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
Patrik Höglund56d94522019-11-18 14:53:3214#include "api/transport/stun.h"
katrielc1d4fefb2016-07-06 15:02:0015
16namespace webrtc {
17void FuzzOneInput(const uint8_t* data, size_t size) {
18 const char* message = reinterpret_cast<const char*>(data);
19
20 // Normally we'd check the integrity first, but those checks are
21 // fuzzed separately in stun_validator_fuzzer.cc. We still want to
22 // fuzz this target since the integrity checks could be forged by a
23 // malicious adversary who receives a call.
24 std::unique_ptr<cricket::IceMessage> stun_msg(new cricket::IceMessage());
25 rtc::ByteBufferReader buf(message, size);
26 stun_msg->Read(&buf);
Harald Alvestrand07d83c82021-03-02 08:09:5327 stun_msg->ValidateMessageIntegrity("");
katrielc1d4fefb2016-07-06 15:02:0028}
29} // namespace webrtc