diff options
Diffstat (limited to 'dom/media/webrtc/tests/fuzztests')
-rw-r--r-- | dom/media/webrtc/tests/fuzztests/moz.build | 22 | ||||
-rw-r--r-- | dom/media/webrtc/tests/fuzztests/sdp_parser_libfuzz.cpp | 30 |
2 files changed, 52 insertions, 0 deletions
diff --git a/dom/media/webrtc/tests/fuzztests/moz.build b/dom/media/webrtc/tests/fuzztests/moz.build new file mode 100644 index 0000000000..fef388e6c9 --- /dev/null +++ b/dom/media/webrtc/tests/fuzztests/moz.build @@ -0,0 +1,22 @@ +# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- +# vim: set filetype=python: +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +Library("FuzzingSdp") + +LOCAL_INCLUDES += [ + "/dom/media/webrtc", + "/ipc/chromium/src", + "/media/webrtc", +] + +# Add libFuzzer configuration directives +include("/tools/fuzzing/libfuzzer-config.mozbuild") + +SOURCES += [ + "sdp_parser_libfuzz.cpp", +] + +FINAL_LIBRARY = "xul-gtest" diff --git a/dom/media/webrtc/tests/fuzztests/sdp_parser_libfuzz.cpp b/dom/media/webrtc/tests/fuzztests/sdp_parser_libfuzz.cpp new file mode 100644 index 0000000000..3451d6fd21 --- /dev/null +++ b/dom/media/webrtc/tests/fuzztests/sdp_parser_libfuzz.cpp @@ -0,0 +1,30 @@ +/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include <string> + +#include "gtest/gtest.h" + +#include "FuzzingInterface.h" + +#include "sdp/SipccSdpParser.h" + +using namespace mozilla; + +static mozilla::UniquePtr<SdpParser::Results> sdpPtr; +static SipccSdpParser mParser; + +int FuzzingInitSdpParser(int* argc, char*** argv) { return 0; } + +static int RunSdpParserFuzzing(const uint8_t* data, size_t size) { + std::string message(reinterpret_cast<const char*>(data), size); + + sdpPtr = mParser.Parse(message); + + return 0; +} + +MOZ_FUZZING_INTERFACE_RAW(FuzzingInitSdpParser, RunSdpParserFuzzing, SdpParser); |