1*86ee64e7SAndroid Build Coastguard Worker // Copyright 2015 The Chromium Authors 2*86ee64e7SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 3*86ee64e7SAndroid Build Coastguard Worker // found in the LICENSE file. 4*86ee64e7SAndroid Build Coastguard Worker 5*86ee64e7SAndroid Build Coastguard Worker #include <stddef.h> 6*86ee64e7SAndroid Build Coastguard Worker #include <stdint.h> 7*86ee64e7SAndroid Build Coastguard Worker #include <string.h> 8*86ee64e7SAndroid Build Coastguard Worker 9*86ee64e7SAndroid Build Coastguard Worker #include "zlib.h" 10*86ee64e7SAndroid Build Coastguard Worker 11*86ee64e7SAndroid Build Coastguard Worker static Bytef buffer[256 * 1024] = {0}; 12*86ee64e7SAndroid Build Coastguard Worker 13*86ee64e7SAndroid Build Coastguard Worker // Entry point for LibFuzzer. LLVMFuzzerTestOneInput(const uint8_t * data,size_t size)14*86ee64e7SAndroid Build Coastguard Workerextern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { 15*86ee64e7SAndroid Build Coastguard Worker uLongf buffer_length = static_cast<uLongf>(sizeof(buffer)); 16*86ee64e7SAndroid Build Coastguard Worker if (Z_OK != 17*86ee64e7SAndroid Build Coastguard Worker uncompress(buffer, &buffer_length, data, static_cast<uLong>(size))) { 18*86ee64e7SAndroid Build Coastguard Worker return 0; 19*86ee64e7SAndroid Build Coastguard Worker } 20*86ee64e7SAndroid Build Coastguard Worker return 0; 21*86ee64e7SAndroid Build Coastguard Worker } 22