1// Copyright (C) 2021 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//      http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15package {
16    default_applicable_licenses: ["Android-Apache-2.0"],
17}
18
19cc_fuzz {
20    name: "fmq_fuzzer",
21
22    defaults: [
23        "libbinder_ndk_host_user",
24    ],
25
26    srcs: [
27        "fmq_fuzzer.cpp",
28    ],
29
30    static_libs: [
31        "libfmq",
32        "android.hardware.common.fmq-V1-ndk_platform",
33    ],
34
35    shared_libs: [
36        "libbase",
37        "libcutils",
38        "libhidlbase",
39        "liblog",
40        "libutils",
41    ],
42
43    fuzz_config: {
44        cc: [
45            "devinmoore@google.com",
46            "smoreland@google.com",
47        ],
48        componentid: 655781,
49        libfuzzer_options: [
50            "max_len=50000",
51        ],
52    },
53
54    host_supported: true,
55
56    sanitize: {
57        hwaddress: true,
58        scs: true,
59        cfi: true,
60        memtag_heap: true,
61        // undefined behavior is expected
62        all_undefined: false,
63        // integer overflow is expected
64        integer_overflow: false,
65    },
66}
67