11401458bSopenharmony_ci/*
21401458bSopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd.
31401458bSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
41401458bSopenharmony_ci * you may not use this file except in compliance with the License.
51401458bSopenharmony_ci * You may obtain a copy of the License at
61401458bSopenharmony_ci *
71401458bSopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
81401458bSopenharmony_ci *
91401458bSopenharmony_ci * Unless required by applicable law or agreed to in writing, software
101401458bSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
111401458bSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
121401458bSopenharmony_ci * See the License for the specific language governing permissions and
131401458bSopenharmony_ci * limitations under the License.
141401458bSopenharmony_ci */
151401458bSopenharmony_ci
161401458bSopenharmony_ci#include "hisysevent_fuzzer.h"
171401458bSopenharmony_ci
181401458bSopenharmony_ci#include <cstddef>
191401458bSopenharmony_ci#include <cstdint>
201401458bSopenharmony_ci#include <vector>
211401458bSopenharmony_ci
221401458bSopenharmony_ci#include "hisysevent.h"
231401458bSopenharmony_ci
241401458bSopenharmony_cinamespace OHOS {
251401458bSopenharmony_cinamespace HiviewDFX {
261401458bSopenharmony_cinamespace {
271401458bSopenharmony_ciconstexpr char TEST_DOMAIN[] = "DEMO";
281401458bSopenharmony_ci}
291401458bSopenharmony_ci
301401458bSopenharmony_cistatic void HiSysEventWriteFuzzTest(const uint8_t* data, size_t size)
311401458bSopenharmony_ci{
321401458bSopenharmony_ci    std::string strData(reinterpret_cast<const char*>(data), size);
331401458bSopenharmony_ci    int64_t int64Data = static_cast<int64_t>(*data);
341401458bSopenharmony_ci    (void)HiSysEventWrite(TEST_DOMAIN, strData, HiSysEvent::EventType::FAULT,
351401458bSopenharmony_ci        "STR_KEY", strData, "INT_KEY", int64Data);
361401458bSopenharmony_ci}
371401458bSopenharmony_ci} // namespace HiviewDFX
381401458bSopenharmony_ci} // namespace OHOS
391401458bSopenharmony_ci
401401458bSopenharmony_ci/* Fuzzer entry point */
411401458bSopenharmony_ciextern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)
421401458bSopenharmony_ci{
431401458bSopenharmony_ci    /* Run your code on data */
441401458bSopenharmony_ci    OHOS::HiviewDFX::HiSysEventWriteFuzzTest(data, size);
451401458bSopenharmony_ci    return 0;
461401458bSopenharmony_ci}
471401458bSopenharmony_ci
48