diff options
Diffstat (limited to 'projects/icu/uregex_open_fuzzer.cc')
-rw-r--r-- | projects/icu/uregex_open_fuzzer.cc | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/projects/icu/uregex_open_fuzzer.cc b/projects/icu/uregex_open_fuzzer.cc new file mode 100644 index 00000000..7e2744c6 --- /dev/null +++ b/projects/icu/uregex_open_fuzzer.cc @@ -0,0 +1,23 @@ +// Copyright 2016 The Chromium Authors. All rights reserved. +// 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 "fuzzer_utils.h" +#include "unicode/regex.h" + +IcuEnvironment* env = new IcuEnvironment(); + +extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { + UParseError pe = { 0 }; + UErrorCode status = U_ZERO_ERROR; + URegularExpression* re = uregex_open(reinterpret_cast<const UChar*>(data), + static_cast<int>(size) / sizeof(UChar), + 0, &pe, &status); + if (re) + uregex_close(re); + + return 0; +} |