1*890232f2SAndroid Build Coastguard Worker // Copyright 2015 The Chromium Authors. All rights reserved. 2*890232f2SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 3*890232f2SAndroid Build Coastguard Worker // found in the LICENSE file. 4*890232f2SAndroid Build Coastguard Worker #include <stddef.h> 5*890232f2SAndroid Build Coastguard Worker #include <stdint.h> 6*890232f2SAndroid Build Coastguard Worker #include <string> 7*890232f2SAndroid Build Coastguard Worker 8*890232f2SAndroid Build Coastguard Worker #include "flatbuffers/flexbuffers.h" 9*890232f2SAndroid Build Coastguard Worker LLVMFuzzerTestOneInput(const uint8_t * data,size_t size)10*890232f2SAndroid Build Coastguard Workerextern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { 11*890232f2SAndroid Build Coastguard Worker std::vector<uint8_t> reuse_tracker; 12*890232f2SAndroid Build Coastguard Worker // Check both with and without reuse tracker paths. 13*890232f2SAndroid Build Coastguard Worker flexbuffers::VerifyBuffer(data, size, &reuse_tracker); 14*890232f2SAndroid Build Coastguard Worker // FIXME: we can't really verify this path, because the fuzzer will 15*890232f2SAndroid Build Coastguard Worker // construct buffers that time out. 16*890232f2SAndroid Build Coastguard Worker // Add a simple #define to bound the number of steps just for the fuzzer? 17*890232f2SAndroid Build Coastguard Worker //flexbuffers::VerifyBuffer(data, size, nullptr); 18*890232f2SAndroid Build Coastguard Worker return 0; 19*890232f2SAndroid Build Coastguard Worker } 20