Commit 72a0f319 authored by Abhishek Arya's avatar Abhishek Arya Committed by Commit Bot

Add two fuzz targets for libaddressinput.

R=rouslan@chromium.org

Bug: 900477
Change-Id: I48e0221d6df217863427316967a166174c0acf04
Reviewed-on: https://chromium-review.googlesource.com/c/1342760
Commit-Queue: Abhishek Arya <inferno@chromium.org>
Reviewed-by: default avatarRouslan Solomakhin <rouslan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#609513}
parent 9f368f46
......@@ -3,6 +3,7 @@
# found in the LICENSE file.
import("//testing/test.gni")
import("//testing/libfuzzer/fuzzer_test.gni")
import("//build/config/locales.gni")
import("//tools/grit/grit_rule.gni")
......@@ -279,3 +280,25 @@ test("libaddressinput_unittests") {
"//testing/gtest",
]
}
fuzzer_test("libaddressinput_parse_address_fields_fuzzer") {
sources = [
"fuzz/parse_address_fields_fuzzer.cc",
]
deps = [
":libaddressinput",
":util",
]
dict = "//third_party/libaddressinput/fuzz/data/require.dict"
}
fuzzer_test("libaddressinput_parse_format_rule_fuzzer") {
sources = [
"fuzz/parse_format_rule_fuzzer.cc",
]
deps = [
":libaddressinput",
":util",
]
dict = "//third_party/libaddressinput/fuzz/data/fmt.dict"
}
......@@ -18,6 +18,7 @@ PaymentRequest and autofill.
Local Modifications:
- Use Chrome's version of JSON reader in chromium/json.cc.
- Use Chrome's version of loose string comparison in chromium/string_compare.cc.
- fuzz/: Added fuzz targets.
Note:
......
"%A%n%O%n%N"
"%N%n%O%n%A"
"%N%n%O%n%A%nAZ %Z %C"
"%N%n%O%n%A%n%C"
"%N%n%O%n%A%n%C%n%S"
"%N%n%O%n%A%n%C%n%S%n%Z"
"%N%n%O%n%A%n%C%n%S %X"
"%N%n%O%n%A%n%C%n%S %Z"
"%N%n%O%n%A%n%C%n%Z"
"%N%n%O%n%A%n%C PR %Z"
"%N%n%O%n%A%n%C, %S"
"%N%n%O%n%A%n%C, %S%n%Z"
"%N%n%O%n%A%n%C %S %Z"
"%N%n%O%n%A%n%C, %S %Z"
"%N%n%O%n%A%n%C %X"
"%N%n%O%n%A%n%C %X%n%S"
"%N%n%O%n%A%n%C - %Z"
"%N%n%O%n%A%n%C %Z"
"%N%n%O%n%A%n%C-%Z"
"%N%n%O%n%A%n%C, %Z"
"%N%n%O%n%A%n%C %Z%n%S"
"%N%n%O%n%A%n%C %Z %S"
"%N%n%O%n%A%n%C %Z, %S"
"%N%n%O%n%A%n%D %C%n%S %Z"
"%N%n%O%n%A%n%D%n%Z %C%n%S"
"%N%n%O%n%A%n%D%n%Z %C, %S"
"%N%n%O%n%A%nFO%Z %C"
"%N%n%O%n%A%nHR-%Z %C"
"%N%n%O%n%A%nHT%Z %C %X"
"%N%n%O%n%A%nMC-%Z %C %X"
"%N%n%O%n%A%nMD-%Z %C"
"%N%n%O%n%A%n%S"
"%N%n%O%n%A%n%S %C-%X%n%Z"
"%N%n%O%n%A%nSINGAPORE %Z"
"%N%n%O%n%A%nSI- %Z %C"
"%N%n%O%n%A%n%S%n%C"
"%N%n%O%n%A%n%X%n%C%nGUERNSEY%n%Z"
"%N%n%O%n%A%n%X%n%C%nJERSEY%n%Z"
"%N%n%O%n%A%n%X%n%C%n%S"
"%N%n%O%n%A%n%X%n%C%n%Z"
"%N%n%O%n%A%n%Z %C"
"%N%n%O%n%A%n%Z- %C"
"%N%n%O%n%A%n%Z %C%n%S"
"%N%n%O%n%A%n%Z-%C%n%S"
"%N%n%O%n%A%n%Z %C %S"
"%N%n%O%n%A%n%Z %C %X"
"%N%n%O%n%A%n%Z%n%C"
"%N%n%O%n%A%n%Z%n%C%n%S"
"%N%n%O%n%A%n%Z%n%C, %S"
"%N%n%O%n%A%n%Z %S"
"%N%n%O%n%C%n%A%n%Z"
"%N%n%O%n%X %A %C %X"
"%N%n%O%n%Z %A %C"
"%O%n%N%n%A%nAX-%Z %C%n\xc3\x85LAND"
"%O%n%N%n%A%nCH-%Z %C"
"%O%n%N%n%A%n%C-%S%n%Z"
"%O%n%N%n%A%n%C, %S%n%Z"
"%O%n%N%n%A%n%C %S %Z"
"%O%n%N%n%A%nFI-%Z %C"
"%O%n%N%n%A%nFL-%Z %C"
"%O%n%N%n%A%nLT-%Z %C"
"%O%n%N%n%A%nL-%Z %C"
"%O%n%N%n%A%nSE-%Z %C"
"%O%n%N%n%A%n%Z %C"
"%O%n%N%n%A%n%Z %C %X"
"%O%n%N%n%S%n%C, %D%n%A%n%Z"
"%S %C%D%n%A%n%O%n%N%n%Z"
"%S%n%A%n%O%n%N"
"%S%n%Z %C %X%n%A%n%O%n%N"
"%Z %C %n%A%n%O%n%N"
"%Z %C%n%A%n%O%n%N"
"%Z %C %X%n%A%n%O%n%N"
"%Z%n%S%C%D%n%A%n%O%n%N"
"%Z%n%S%C%n%A%n%O%n%N"
"\xe3\x80\x92%Z%n%S%C%n%A%n%O%n%N"
"%Z%n%S%n%C%n%A%n%O%n%N"
"A"
"AC"
"ACS"
"ACSZ"
"ACZ"
"AS"
"ASCZ"
"AZ"
// Copyright 2018 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 <stdint.h>
#include "third_party/libaddressinput/src/cpp/src/address_field_util.h"
// Entry point for LibFuzzer.
extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
std::string input(reinterpret_cast<const char*>(data), size);
std::vector<i18n::addressinput::AddressField> address_field;
i18n::addressinput::ParseAddressFieldsRequired(input, &address_field);
return 0;
}
// Copyright 2018 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 <stdint.h>
#include "third_party/libaddressinput/src/cpp/src/address_field_util.h"
#include "third_party/libaddressinput/src/cpp/src/format_element.h"
// Entry point for LibFuzzer.
extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
std::string input(reinterpret_cast<const char*>(data), size);
std::vector<i18n::addressinput::FormatElement> format_element;
i18n::addressinput::ParseFormatRule(input, &format_element);
return 0;
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment