diff options
author | Cronet Mainline Eng <cronet-mainline-eng+copybara@google.com> | 2024-05-28 13:59:50 +0900 |
---|---|---|
committer | Motomu Utsumi <motomuman@google.com> | 2024-05-28 14:11:54 +0900 |
commit | 168f7e285114554eb2ac9bc22343cca461355b50 (patch) | |
tree | c65ccc97fb3dc01e329951c1c7c7901aef7b7a2a /url/url_idna_icu_fuzzer.cc | |
parent | 5cfdd35118d5a23349255971e97737e32895ec0f (diff) | |
download | cronet-168f7e285114554eb2ac9bc22343cca461355b50.tar.gz |
Import Cronet version 122.0.6261.43
FolderOrigin-RevId: /tmp/copybara-origin/src
Change-Id: Ifb7b548cde690e10cc102366bc538e744efa902b
Diffstat (limited to 'url/url_idna_icu_fuzzer.cc')
-rw-r--r-- | url/url_idna_icu_fuzzer.cc | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/url/url_idna_icu_fuzzer.cc b/url/url_idna_icu_fuzzer.cc new file mode 100644 index 000000000..cf3515b8a --- /dev/null +++ b/url/url_idna_icu_fuzzer.cc @@ -0,0 +1,31 @@ +// Copyright 2024 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include <stddef.h> +#include <stdint.h> + +#include <string> + +#include "third_party/icu/fuzzers/fuzzer_utils.h" +#include "url/third_party/mozilla/url_parse.h" +#include "url/url_canon.h" + +struct Environment { + IcuEnvironment icu_environment; +}; + +extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { + static Environment env; + + if (size < 1) { + return 0; + } + + std::u16string_view input(reinterpret_cast<const char16_t*>(data), + size / sizeof(const char16_t)); + url::RawCanonOutputW<1024> output; + + url::IDNToASCII(input, &output); + return 0; +} |