1 /* 2 * Copyright (c) 2022 Huawei Device Co., Ltd. 3 * SPDX-License-Identifier: GPL-2.0 4 * 5 * Unless required by applicable law or agreed to in writing, software 6 * distributed under the License is distributed on an "AS IS" BASIS, 7 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 8 * See the License for the specific language governing permissions and 9 * limitations under the License. 10 */ 11 12 #include <vector> 13 #include <cstddef> 14 #include <cstdint> 15 #include "__config" 16 #include "rtg_interface.h" 17 18 using namespace std; 19 using namespace OHOS::RME; 20 namespace OHOS { BeginFrameFreqFuzzTest(const uint8_t *data, size_t size)21bool BeginFrameFreqFuzzTest(const uint8_t *data, size_t size) 22 { 23 bool ret = false; 24 constexpr int marginUpperLimitTime = 32000; 25 constexpr int marginLowerLimitTime = -32000; 26 if (data == nullptr) { 27 return ret; 28 } else { 29 uint8_t *countData = const_cast<uint8_t *>(data); 30 int margin = *(reinterpret_cast<int *>(countData)); 31 if (margin < marginLowerLimitTime || margin > marginUpperLimitTime) { 32 return ret; 33 } 34 ret = BeginFrameFreq(margin); 35 } 36 return ret; 37 } 38 } 39 LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)40extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) 41 { 42 OHOS::BeginFrameFreqFuzzTest(data, size); 43 return 0; 44 } 45