diff options
| author | Jörg Frings-Fürst <debian@jff-webhsoting.net> | 2026-05-08 11:54:15 +0200 |
|---|---|---|
| committer | Jörg Frings-Fürst <debian@jff-webhsoting.net> | 2026-05-08 11:54:15 +0200 |
| commit | 9d62028a6e8eced2ae6fabedd2b6317e9519b00d (patch) | |
| tree | 1d8458cb6627ccfc673f791c5f0db45f9c06f7e0 /fuzz/FreeFuzzer.cpp | |
| parent | a1dac799b819ba356a2faff3a98d7f5f076c24b6 (diff) | |
| parent | 5177d88bf591522d1b934e24221e16e02cd1592b (diff) | |
Merge branch 'feature/upstream' into develop
Diffstat (limited to 'fuzz/FreeFuzzer.cpp')
| -rw-r--r-- | fuzz/FreeFuzzer.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/fuzz/FreeFuzzer.cpp b/fuzz/FreeFuzzer.cpp new file mode 100644 index 0000000..1eeb94f --- /dev/null +++ b/fuzz/FreeFuzzer.cpp @@ -0,0 +1,30 @@ +// Copyright 2020 Google LLC +// Copyright 2025 Mikhail Khachaiants <mkhachaiants@gmail.com> +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include "uriparser/Uri.h" +#include "FuzzingUtils.h" +#include <cstddef> +#include <cstdint> + +extern "C" int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size) { + FuzzedDataProvider fdp(data, size); + UriString fuzz_uri = consumeRemainingBytesAsString(fdp); + URI_TYPE(ParserState) state; + URI_TYPE(Uri) uriA; + state.uri = &uriA; + URI_FUNC(ParseUri)(&state, fuzz_uri.c_str()); + URI_FUNC(FreeUriMembers)(&uriA); + return 0; +} |
