xref: /aosp_15_r20/external/cronet/third_party/icu/fuzzers/icu_uregex_open_fuzzer.cc (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include <stddef.h>
6 #include <stdint.h>
7 
8 #include "third_party/icu/source/i18n/unicode/regex.h"
9 
10 // Entry point for LibFuzzer.
LLVMFuzzerTestOneInput(const uint8_t * data,size_t size)11 extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
12   UParseError pe = { 0 };
13   UErrorCode status = U_ZERO_ERROR;
14   URegularExpression* re = uregex_open(reinterpret_cast<const UChar*>(data),
15                                        static_cast<int>(size) / sizeof(UChar),
16                                        0, &pe, &status);
17   if (re)
18     uregex_close(re);
19 
20   return 0;
21 }
22