From 4a546b400451987cab0627ed16953a80a967aa5e Mon Sep 17 00:00:00 2001 From: w30042960 Date: Tue, 30 May 2023 20:10:29 +0800 Subject: [PATCH 1/4] add FUZZ Signed-off-by: w30042960 --- .../native_cpp/test/fuzztest/BUILD.gn | 1 + .../sinkservicedaudionotify_fuzzer.cpp | 2 +- .../sinkservicedaudionotify_fuzzer.h | 2 +- .../sinkserviceinitsink_fuzzer.cpp | 2 +- .../sinkserviceinitsink_fuzzer.h | 2 +- .../sinkservicereleasesink_fuzzer.cpp | 2 +- .../sinkservicereleasesink_fuzzer.h | 2 +- ...nkservicesubscribelocalhardware_fuzzer.cpp | 2 +- ...sinkservicesubscribelocalhardware_fuzzer.h | 2 +- ...serviceunsubscribelocalhardware_fuzzer.cpp | 2 +- ...nkserviceunsubscribelocalhardware_fuzzer.h | 2 +- ...erviceconfigdistributedhardware_fuzzer.cpp | 2 +- ...eserviceconfigdistributedhardware_fuzzer.h | 2 +- .../sourceservicedaudionotify_fuzzer.cpp | 2 +- .../sourceservicedaudionotify_fuzzer.h | 2 +- .../sourceserviceinitsource_fuzzer.cpp | 2 +- .../sourceserviceinitsource_fuzzer.h | 2 +- ...viceregisterdistributedhardware_fuzzer.cpp | 2 +- ...erviceregisterdistributedhardware_fuzzer.h | 2 +- .../sourceservicereleasesource_fuzzer.cpp | 2 +- .../sourceservicereleasesource_fuzzer.h | 2 +- ...ceunregisterdistributedhardware_fuzzer.cpp | 2 +- ...viceunregisterdistributedhardware_fuzzer.h | 2 +- .../audiodatasetinit64_fuzzer/BUILD.gn | 61 +++++++++++++++++++ .../audiodatasetinit64_fuzzer.cpp | 48 +++++++++++++++ .../audiodatasetinit64_fuzzer.h | 21 +++++++ .../audiodatasetinit64_fuzzer/corpus/init | 16 +++++ .../audiodatasetinit64_fuzzer/project.xml | 25 ++++++++ 28 files changed, 194 insertions(+), 22 deletions(-) create mode 100644 services/common/test/fuzztest/audiodatasetinit64_fuzzer/BUILD.gn create mode 100644 services/common/test/fuzztest/audiodatasetinit64_fuzzer/audiodatasetinit64_fuzzer.cpp create mode 100644 services/common/test/fuzztest/audiodatasetinit64_fuzzer/audiodatasetinit64_fuzzer.h create mode 100644 services/common/test/fuzztest/audiodatasetinit64_fuzzer/corpus/init create mode 100644 services/common/test/fuzztest/audiodatasetinit64_fuzzer/project.xml diff --git a/interfaces/inner_kits/native_cpp/test/fuzztest/BUILD.gn b/interfaces/inner_kits/native_cpp/test/fuzztest/BUILD.gn index 68222b7c..45f8f590 100644 --- a/interfaces/inner_kits/native_cpp/test/fuzztest/BUILD.gn +++ b/interfaces/inner_kits/native_cpp/test/fuzztest/BUILD.gn @@ -44,6 +44,7 @@ group("fuzztest") { "${services_path}/audiomanager/test/fuzztest/sourceserviceregisterdistributedhardware_fuzzer:fuzztest", "${services_path}/audiomanager/test/fuzztest/sourceservicereleasesource_fuzzer:fuzztest", "${services_path}/audiomanager/test/fuzztest/sourceserviceunregisterdistributedhardware_fuzzer:fuzztest", + "${services_path}/common/test/fuzztest/audiodatasetinit64_fuzzer:fuzztest", "onremotesinksvrdied_fuzzer:fuzztest", "onremotesourcesvrdied_fuzzer:fuzztest", "sinkhandlerfinishstartsa_fuzzer:fuzztest", diff --git a/services/audiomanager/test/fuzztest/sinkservicedaudionotify_fuzzer/sinkservicedaudionotify_fuzzer.cpp b/services/audiomanager/test/fuzztest/sinkservicedaudionotify_fuzzer/sinkservicedaudionotify_fuzzer.cpp index c0db2652..11a1e7b1 100644 --- a/services/audiomanager/test/fuzztest/sinkservicedaudionotify_fuzzer/sinkservicedaudionotify_fuzzer.cpp +++ b/services/audiomanager/test/fuzztest/sinkservicedaudionotify_fuzzer/sinkservicedaudionotify_fuzzer.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 Huawei Device Co., Ltd. + * Copyright (c) 2023 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at diff --git a/services/audiomanager/test/fuzztest/sinkservicedaudionotify_fuzzer/sinkservicedaudionotify_fuzzer.h b/services/audiomanager/test/fuzztest/sinkservicedaudionotify_fuzzer/sinkservicedaudionotify_fuzzer.h index 26a62bb9..9c498bac 100644 --- a/services/audiomanager/test/fuzztest/sinkservicedaudionotify_fuzzer/sinkservicedaudionotify_fuzzer.h +++ b/services/audiomanager/test/fuzztest/sinkservicedaudionotify_fuzzer/sinkservicedaudionotify_fuzzer.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 Huawei Device Co., Ltd. + * Copyright (c) 2023 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at diff --git a/services/audiomanager/test/fuzztest/sinkserviceinitsink_fuzzer/sinkserviceinitsink_fuzzer.cpp b/services/audiomanager/test/fuzztest/sinkserviceinitsink_fuzzer/sinkserviceinitsink_fuzzer.cpp index 49309af8..c866e317 100644 --- a/services/audiomanager/test/fuzztest/sinkserviceinitsink_fuzzer/sinkserviceinitsink_fuzzer.cpp +++ b/services/audiomanager/test/fuzztest/sinkserviceinitsink_fuzzer/sinkserviceinitsink_fuzzer.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 Huawei Device Co., Ltd. + * Copyright (c) 2023 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at diff --git a/services/audiomanager/test/fuzztest/sinkserviceinitsink_fuzzer/sinkserviceinitsink_fuzzer.h b/services/audiomanager/test/fuzztest/sinkserviceinitsink_fuzzer/sinkserviceinitsink_fuzzer.h index ce432ee4..0a1a8033 100644 --- a/services/audiomanager/test/fuzztest/sinkserviceinitsink_fuzzer/sinkserviceinitsink_fuzzer.h +++ b/services/audiomanager/test/fuzztest/sinkserviceinitsink_fuzzer/sinkserviceinitsink_fuzzer.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 Huawei Device Co., Ltd. + * Copyright (c) 2023 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at diff --git a/services/audiomanager/test/fuzztest/sinkservicereleasesink_fuzzer/sinkservicereleasesink_fuzzer.cpp b/services/audiomanager/test/fuzztest/sinkservicereleasesink_fuzzer/sinkservicereleasesink_fuzzer.cpp index 54c167f4..1149cef8 100644 --- a/services/audiomanager/test/fuzztest/sinkservicereleasesink_fuzzer/sinkservicereleasesink_fuzzer.cpp +++ b/services/audiomanager/test/fuzztest/sinkservicereleasesink_fuzzer/sinkservicereleasesink_fuzzer.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 Huawei Device Co., Ltd. + * Copyright (c) 2023 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at diff --git a/services/audiomanager/test/fuzztest/sinkservicereleasesink_fuzzer/sinkservicereleasesink_fuzzer.h b/services/audiomanager/test/fuzztest/sinkservicereleasesink_fuzzer/sinkservicereleasesink_fuzzer.h index 40e6ea15..cdb92976 100644 --- a/services/audiomanager/test/fuzztest/sinkservicereleasesink_fuzzer/sinkservicereleasesink_fuzzer.h +++ b/services/audiomanager/test/fuzztest/sinkservicereleasesink_fuzzer/sinkservicereleasesink_fuzzer.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 Huawei Device Co., Ltd. + * Copyright (c) 2023 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at diff --git a/services/audiomanager/test/fuzztest/sinkservicesubscribelocalhardware_fuzzer/sinkservicesubscribelocalhardware_fuzzer.cpp b/services/audiomanager/test/fuzztest/sinkservicesubscribelocalhardware_fuzzer/sinkservicesubscribelocalhardware_fuzzer.cpp index 09926187..f0f4180f 100644 --- a/services/audiomanager/test/fuzztest/sinkservicesubscribelocalhardware_fuzzer/sinkservicesubscribelocalhardware_fuzzer.cpp +++ b/services/audiomanager/test/fuzztest/sinkservicesubscribelocalhardware_fuzzer/sinkservicesubscribelocalhardware_fuzzer.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 Huawei Device Co., Ltd. + * Copyright (c) 2023 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at diff --git a/services/audiomanager/test/fuzztest/sinkservicesubscribelocalhardware_fuzzer/sinkservicesubscribelocalhardware_fuzzer.h b/services/audiomanager/test/fuzztest/sinkservicesubscribelocalhardware_fuzzer/sinkservicesubscribelocalhardware_fuzzer.h index 14e0492d..45a0772e 100644 --- a/services/audiomanager/test/fuzztest/sinkservicesubscribelocalhardware_fuzzer/sinkservicesubscribelocalhardware_fuzzer.h +++ b/services/audiomanager/test/fuzztest/sinkservicesubscribelocalhardware_fuzzer/sinkservicesubscribelocalhardware_fuzzer.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 Huawei Device Co., Ltd. + * Copyright (c) 2023 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at diff --git a/services/audiomanager/test/fuzztest/sinkserviceunsubscribelocalhardware_fuzzer/sinkserviceunsubscribelocalhardware_fuzzer.cpp b/services/audiomanager/test/fuzztest/sinkserviceunsubscribelocalhardware_fuzzer/sinkserviceunsubscribelocalhardware_fuzzer.cpp index 79752e5d..d474197f 100644 --- a/services/audiomanager/test/fuzztest/sinkserviceunsubscribelocalhardware_fuzzer/sinkserviceunsubscribelocalhardware_fuzzer.cpp +++ b/services/audiomanager/test/fuzztest/sinkserviceunsubscribelocalhardware_fuzzer/sinkserviceunsubscribelocalhardware_fuzzer.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 Huawei Device Co., Ltd. + * Copyright (c) 2023 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at diff --git a/services/audiomanager/test/fuzztest/sinkserviceunsubscribelocalhardware_fuzzer/sinkserviceunsubscribelocalhardware_fuzzer.h b/services/audiomanager/test/fuzztest/sinkserviceunsubscribelocalhardware_fuzzer/sinkserviceunsubscribelocalhardware_fuzzer.h index 35414926..6f7fd826 100644 --- a/services/audiomanager/test/fuzztest/sinkserviceunsubscribelocalhardware_fuzzer/sinkserviceunsubscribelocalhardware_fuzzer.h +++ b/services/audiomanager/test/fuzztest/sinkserviceunsubscribelocalhardware_fuzzer/sinkserviceunsubscribelocalhardware_fuzzer.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 Huawei Device Co., Ltd. + * Copyright (c) 2023 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at diff --git a/services/audiomanager/test/fuzztest/sourceserviceconfigdistributedhardware_fuzzer/sourceserviceconfigdistributedhardware_fuzzer.cpp b/services/audiomanager/test/fuzztest/sourceserviceconfigdistributedhardware_fuzzer/sourceserviceconfigdistributedhardware_fuzzer.cpp index 0c01f5ff..a050f1e0 100644 --- a/services/audiomanager/test/fuzztest/sourceserviceconfigdistributedhardware_fuzzer/sourceserviceconfigdistributedhardware_fuzzer.cpp +++ b/services/audiomanager/test/fuzztest/sourceserviceconfigdistributedhardware_fuzzer/sourceserviceconfigdistributedhardware_fuzzer.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 Huawei Device Co., Ltd. + * Copyright (c) 2023 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at diff --git a/services/audiomanager/test/fuzztest/sourceserviceconfigdistributedhardware_fuzzer/sourceserviceconfigdistributedhardware_fuzzer.h b/services/audiomanager/test/fuzztest/sourceserviceconfigdistributedhardware_fuzzer/sourceserviceconfigdistributedhardware_fuzzer.h index 93fe081b..2caa2709 100644 --- a/services/audiomanager/test/fuzztest/sourceserviceconfigdistributedhardware_fuzzer/sourceserviceconfigdistributedhardware_fuzzer.h +++ b/services/audiomanager/test/fuzztest/sourceserviceconfigdistributedhardware_fuzzer/sourceserviceconfigdistributedhardware_fuzzer.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 Huawei Device Co., Ltd. + * Copyright (c) 2023 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at diff --git a/services/audiomanager/test/fuzztest/sourceservicedaudionotify_fuzzer/sourceservicedaudionotify_fuzzer.cpp b/services/audiomanager/test/fuzztest/sourceservicedaudionotify_fuzzer/sourceservicedaudionotify_fuzzer.cpp index 7ed76da0..6d472bda 100644 --- a/services/audiomanager/test/fuzztest/sourceservicedaudionotify_fuzzer/sourceservicedaudionotify_fuzzer.cpp +++ b/services/audiomanager/test/fuzztest/sourceservicedaudionotify_fuzzer/sourceservicedaudionotify_fuzzer.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 Huawei Device Co., Ltd. + * Copyright (c) 2023 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at diff --git a/services/audiomanager/test/fuzztest/sourceservicedaudionotify_fuzzer/sourceservicedaudionotify_fuzzer.h b/services/audiomanager/test/fuzztest/sourceservicedaudionotify_fuzzer/sourceservicedaudionotify_fuzzer.h index 15f60793..be254e1e 100644 --- a/services/audiomanager/test/fuzztest/sourceservicedaudionotify_fuzzer/sourceservicedaudionotify_fuzzer.h +++ b/services/audiomanager/test/fuzztest/sourceservicedaudionotify_fuzzer/sourceservicedaudionotify_fuzzer.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 Huawei Device Co., Ltd. + * Copyright (c) 2023 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at diff --git a/services/audiomanager/test/fuzztest/sourceserviceinitsource_fuzzer/sourceserviceinitsource_fuzzer.cpp b/services/audiomanager/test/fuzztest/sourceserviceinitsource_fuzzer/sourceserviceinitsource_fuzzer.cpp index 1968f3c3..a1e73daf 100644 --- a/services/audiomanager/test/fuzztest/sourceserviceinitsource_fuzzer/sourceserviceinitsource_fuzzer.cpp +++ b/services/audiomanager/test/fuzztest/sourceserviceinitsource_fuzzer/sourceserviceinitsource_fuzzer.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 Huawei Device Co., Ltd. + * Copyright (c) 2023 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at diff --git a/services/audiomanager/test/fuzztest/sourceserviceinitsource_fuzzer/sourceserviceinitsource_fuzzer.h b/services/audiomanager/test/fuzztest/sourceserviceinitsource_fuzzer/sourceserviceinitsource_fuzzer.h index 965c4c27..88c92348 100644 --- a/services/audiomanager/test/fuzztest/sourceserviceinitsource_fuzzer/sourceserviceinitsource_fuzzer.h +++ b/services/audiomanager/test/fuzztest/sourceserviceinitsource_fuzzer/sourceserviceinitsource_fuzzer.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 Huawei Device Co., Ltd. + * Copyright (c) 2023 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at diff --git a/services/audiomanager/test/fuzztest/sourceserviceregisterdistributedhardware_fuzzer/sourceserviceregisterdistributedhardware_fuzzer.cpp b/services/audiomanager/test/fuzztest/sourceserviceregisterdistributedhardware_fuzzer/sourceserviceregisterdistributedhardware_fuzzer.cpp index 8efd5ad4..9ef90fda 100644 --- a/services/audiomanager/test/fuzztest/sourceserviceregisterdistributedhardware_fuzzer/sourceserviceregisterdistributedhardware_fuzzer.cpp +++ b/services/audiomanager/test/fuzztest/sourceserviceregisterdistributedhardware_fuzzer/sourceserviceregisterdistributedhardware_fuzzer.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 Huawei Device Co., Ltd. + * Copyright (c) 2023 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at diff --git a/services/audiomanager/test/fuzztest/sourceserviceregisterdistributedhardware_fuzzer/sourceserviceregisterdistributedhardware_fuzzer.h b/services/audiomanager/test/fuzztest/sourceserviceregisterdistributedhardware_fuzzer/sourceserviceregisterdistributedhardware_fuzzer.h index 49d826b6..1c8222bc 100644 --- a/services/audiomanager/test/fuzztest/sourceserviceregisterdistributedhardware_fuzzer/sourceserviceregisterdistributedhardware_fuzzer.h +++ b/services/audiomanager/test/fuzztest/sourceserviceregisterdistributedhardware_fuzzer/sourceserviceregisterdistributedhardware_fuzzer.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 Huawei Device Co., Ltd. + * Copyright (c) 2023 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at diff --git a/services/audiomanager/test/fuzztest/sourceservicereleasesource_fuzzer/sourceservicereleasesource_fuzzer.cpp b/services/audiomanager/test/fuzztest/sourceservicereleasesource_fuzzer/sourceservicereleasesource_fuzzer.cpp index 1c2184fd..a592047e 100644 --- a/services/audiomanager/test/fuzztest/sourceservicereleasesource_fuzzer/sourceservicereleasesource_fuzzer.cpp +++ b/services/audiomanager/test/fuzztest/sourceservicereleasesource_fuzzer/sourceservicereleasesource_fuzzer.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 Huawei Device Co., Ltd. + * Copyright (c) 2023 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at diff --git a/services/audiomanager/test/fuzztest/sourceservicereleasesource_fuzzer/sourceservicereleasesource_fuzzer.h b/services/audiomanager/test/fuzztest/sourceservicereleasesource_fuzzer/sourceservicereleasesource_fuzzer.h index 7e8e49c1..3fb4b130 100644 --- a/services/audiomanager/test/fuzztest/sourceservicereleasesource_fuzzer/sourceservicereleasesource_fuzzer.h +++ b/services/audiomanager/test/fuzztest/sourceservicereleasesource_fuzzer/sourceservicereleasesource_fuzzer.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 Huawei Device Co., Ltd. + * Copyright (c) 2023 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at diff --git a/services/audiomanager/test/fuzztest/sourceserviceunregisterdistributedhardware_fuzzer/sourceserviceunregisterdistributedhardware_fuzzer.cpp b/services/audiomanager/test/fuzztest/sourceserviceunregisterdistributedhardware_fuzzer/sourceserviceunregisterdistributedhardware_fuzzer.cpp index 9070613c..1cd26924 100644 --- a/services/audiomanager/test/fuzztest/sourceserviceunregisterdistributedhardware_fuzzer/sourceserviceunregisterdistributedhardware_fuzzer.cpp +++ b/services/audiomanager/test/fuzztest/sourceserviceunregisterdistributedhardware_fuzzer/sourceserviceunregisterdistributedhardware_fuzzer.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 Huawei Device Co., Ltd. + * Copyright (c) 2023 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at diff --git a/services/audiomanager/test/fuzztest/sourceserviceunregisterdistributedhardware_fuzzer/sourceserviceunregisterdistributedhardware_fuzzer.h b/services/audiomanager/test/fuzztest/sourceserviceunregisterdistributedhardware_fuzzer/sourceserviceunregisterdistributedhardware_fuzzer.h index 89c30649..486fd8c0 100644 --- a/services/audiomanager/test/fuzztest/sourceserviceunregisterdistributedhardware_fuzzer/sourceserviceunregisterdistributedhardware_fuzzer.h +++ b/services/audiomanager/test/fuzztest/sourceserviceunregisterdistributedhardware_fuzzer/sourceserviceunregisterdistributedhardware_fuzzer.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 Huawei Device Co., Ltd. + * Copyright (c) 2023 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at diff --git a/services/common/test/fuzztest/audiodatasetinit64_fuzzer/BUILD.gn b/services/common/test/fuzztest/audiodatasetinit64_fuzzer/BUILD.gn new file mode 100644 index 00000000..94d9eb53 --- /dev/null +++ b/services/common/test/fuzztest/audiodatasetinit64_fuzzer/BUILD.gn @@ -0,0 +1,61 @@ +# Copyright (c) 2022 Huawei Device Co., Ltd. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +#####################hydra-fuzz################### +import("//build/config/features.gni") +import("//build/test.gni") +import("../../../../../distributedaudio.gni") + +##############################fuzztest########################################## +ohos_fuzztest("AudioDataInit64FuzzTest") { + module_out_path = "distributed_audio/audiodatasetinit64_fuzzer" + fuzz_config_file = + "${services_path}/common/test/fuzztest/audiodatasetinit64_fuzzer" + + cflags = [ + "-g", + "-O0", + "-Wno-unused-variable", + "-fno-omit-frame-pointer", + ] + sources = [ "audiodatasetinit64_fuzzer.cpp" ] + + include_dirs = [ + ] + + include_dirs += [ + "include", + "${common_path}/include", + ] + + deps = [ "${services_path}/common:distributed_audio_utils" ] + + defines = [ + "HI_LOG_ENABLE", + "DH_LOG_TAG=\"AudioDataInit64FuzzTest\"", + "LOG_DOMAIN=0xD004100", + ] + + external_deps = [ + "c_utils:utils", + "ipc:ipc_core", + "samgr:samgr_proxy", + ] +} + +############################################################################### +group("fuzztest") { + testonly = true + deps = [ ":AudioDataInit64FuzzTest" ] +} +############################################################################### diff --git a/services/common/test/fuzztest/audiodatasetinit64_fuzzer/audiodatasetinit64_fuzzer.cpp b/services/common/test/fuzztest/audiodatasetinit64_fuzzer/audiodatasetinit64_fuzzer.cpp new file mode 100644 index 00000000..bfb0e4b2 --- /dev/null +++ b/services/common/test/fuzztest/audiodatasetinit64_fuzzer/audiodatasetinit64_fuzzer.cpp @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "audiodatasetinit64_fuzzer.h" + +#include +#include + +#include "audio_data.h" +#include "if_system_ability_manager.h" +#include "iservice_registry.h" + +namespace OHOS { +namespace DistributedHardware { +void AudioDataInit64FuzzTest(const uint8_t* data, size_t size) +{ + if ((data == nullptr) || (size < (sizeof(int64_t)))) { + return; + } + + int64_t value = *(reinterpret_cast(data)); + std::string name(reinterpret_cast(data), size); + std::shared_ptr audioData = std::make_shared(4096); + audioData->SetInt64(name, value); +} +} +} + +/* Fuzzer entry point */ +extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) +{ + /* Run your code on data */ + OHOS::DistributedHardware::AudioDataInit64FuzzTest(data, size); + return 0; +} + diff --git a/services/common/test/fuzztest/audiodatasetinit64_fuzzer/audiodatasetinit64_fuzzer.h b/services/common/test/fuzztest/audiodatasetinit64_fuzzer/audiodatasetinit64_fuzzer.h new file mode 100644 index 00000000..c99e388f --- /dev/null +++ b/services/common/test/fuzztest/audiodatasetinit64_fuzzer/audiodatasetinit64_fuzzer.h @@ -0,0 +1,21 @@ +/* + * Copyright (c) 2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef AUDIODATASETINIT64_FUZZER_H +#define AUDIODATASETINIT64_FUZZER_H + +#define FUZZ_PROJECT_NAME "audiodatasetinit64_fuzzer" + +#endif \ No newline at end of file diff --git a/services/common/test/fuzztest/audiodatasetinit64_fuzzer/corpus/init b/services/common/test/fuzztest/audiodatasetinit64_fuzzer/corpus/init new file mode 100644 index 00000000..2b595da0 --- /dev/null +++ b/services/common/test/fuzztest/audiodatasetinit64_fuzzer/corpus/init @@ -0,0 +1,16 @@ +/* + * Copyright (c) 2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +FUZZ \ No newline at end of file diff --git a/services/common/test/fuzztest/audiodatasetinit64_fuzzer/project.xml b/services/common/test/fuzztest/audiodatasetinit64_fuzzer/project.xml new file mode 100644 index 00000000..4fdbc407 --- /dev/null +++ b/services/common/test/fuzztest/audiodatasetinit64_fuzzer/project.xml @@ -0,0 +1,25 @@ + + + + + + 1000 + + 300 + + 4096 + + -- Gitee From fe74289b51f7041572517c74720d5e4c55f3c559 Mon Sep 17 00:00:00 2001 From: w30042960 Date: Wed, 31 May 2023 10:24:58 +0800 Subject: [PATCH 2/4] modify FUZZ Signed-off-by: w30042960 --- .../common/test/fuzztest/audiodatasetinit64_fuzzer/BUILD.gn | 3 +-- .../audiodatasetinit64_fuzzer/audiodatasetinit64_fuzzer.cpp | 5 +++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/services/common/test/fuzztest/audiodatasetinit64_fuzzer/BUILD.gn b/services/common/test/fuzztest/audiodatasetinit64_fuzzer/BUILD.gn index 94d9eb53..1f0d6f83 100644 --- a/services/common/test/fuzztest/audiodatasetinit64_fuzzer/BUILD.gn +++ b/services/common/test/fuzztest/audiodatasetinit64_fuzzer/BUILD.gn @@ -30,8 +30,7 @@ ohos_fuzztest("AudioDataInit64FuzzTest") { ] sources = [ "audiodatasetinit64_fuzzer.cpp" ] - include_dirs = [ - ] + include_dirs = [] include_dirs += [ "include", diff --git a/services/common/test/fuzztest/audiodatasetinit64_fuzzer/audiodatasetinit64_fuzzer.cpp b/services/common/test/fuzztest/audiodatasetinit64_fuzzer/audiodatasetinit64_fuzzer.cpp index bfb0e4b2..6ccd26f1 100644 --- a/services/common/test/fuzztest/audiodatasetinit64_fuzzer/audiodatasetinit64_fuzzer.cpp +++ b/services/common/test/fuzztest/audiodatasetinit64_fuzzer/audiodatasetinit64_fuzzer.cpp @@ -29,10 +29,11 @@ void AudioDataInit64FuzzTest(const uint8_t* data, size_t size) if ((data == nullptr) || (size < (sizeof(int64_t)))) { return; } - + + size_t capacity = 4096; int64_t value = *(reinterpret_cast(data)); std::string name(reinterpret_cast(data), size); - std::shared_ptr audioData = std::make_shared(4096); + std::shared_ptr audioData = std::make_shared(capacity); audioData->SetInt64(name, value); } } -- Gitee From 8703b66495d243627d202f70add9e0612c854cc3 Mon Sep 17 00:00:00 2001 From: w30042960 Date: Wed, 31 May 2023 15:51:52 +0800 Subject: [PATCH 3/4] add UT Signed-off-by: w30042960 --- .../native_cpp/test/fuzztest/BUILD.gn | 1 - .../audiodatasetinit64_fuzzer/BUILD.gn | 60 ------------------- .../audiodatasetinit64_fuzzer.cpp | 49 --------------- .../audiodatasetinit64_fuzzer.h | 21 ------- .../audiodatasetinit64_fuzzer/corpus/init | 16 ----- .../audiodatasetinit64_fuzzer/project.xml | 25 -------- .../audiodata/src/audio_data_test.cpp | 1 + 7 files changed, 1 insertion(+), 172 deletions(-) delete mode 100644 services/common/test/fuzztest/audiodatasetinit64_fuzzer/BUILD.gn delete mode 100644 services/common/test/fuzztest/audiodatasetinit64_fuzzer/audiodatasetinit64_fuzzer.cpp delete mode 100644 services/common/test/fuzztest/audiodatasetinit64_fuzzer/audiodatasetinit64_fuzzer.h delete mode 100644 services/common/test/fuzztest/audiodatasetinit64_fuzzer/corpus/init delete mode 100644 services/common/test/fuzztest/audiodatasetinit64_fuzzer/project.xml diff --git a/interfaces/inner_kits/native_cpp/test/fuzztest/BUILD.gn b/interfaces/inner_kits/native_cpp/test/fuzztest/BUILD.gn index 45f8f590..68222b7c 100644 --- a/interfaces/inner_kits/native_cpp/test/fuzztest/BUILD.gn +++ b/interfaces/inner_kits/native_cpp/test/fuzztest/BUILD.gn @@ -44,7 +44,6 @@ group("fuzztest") { "${services_path}/audiomanager/test/fuzztest/sourceserviceregisterdistributedhardware_fuzzer:fuzztest", "${services_path}/audiomanager/test/fuzztest/sourceservicereleasesource_fuzzer:fuzztest", "${services_path}/audiomanager/test/fuzztest/sourceserviceunregisterdistributedhardware_fuzzer:fuzztest", - "${services_path}/common/test/fuzztest/audiodatasetinit64_fuzzer:fuzztest", "onremotesinksvrdied_fuzzer:fuzztest", "onremotesourcesvrdied_fuzzer:fuzztest", "sinkhandlerfinishstartsa_fuzzer:fuzztest", diff --git a/services/common/test/fuzztest/audiodatasetinit64_fuzzer/BUILD.gn b/services/common/test/fuzztest/audiodatasetinit64_fuzzer/BUILD.gn deleted file mode 100644 index 1f0d6f83..00000000 --- a/services/common/test/fuzztest/audiodatasetinit64_fuzzer/BUILD.gn +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2022 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -#####################hydra-fuzz################### -import("//build/config/features.gni") -import("//build/test.gni") -import("../../../../../distributedaudio.gni") - -##############################fuzztest########################################## -ohos_fuzztest("AudioDataInit64FuzzTest") { - module_out_path = "distributed_audio/audiodatasetinit64_fuzzer" - fuzz_config_file = - "${services_path}/common/test/fuzztest/audiodatasetinit64_fuzzer" - - cflags = [ - "-g", - "-O0", - "-Wno-unused-variable", - "-fno-omit-frame-pointer", - ] - sources = [ "audiodatasetinit64_fuzzer.cpp" ] - - include_dirs = [] - - include_dirs += [ - "include", - "${common_path}/include", - ] - - deps = [ "${services_path}/common:distributed_audio_utils" ] - - defines = [ - "HI_LOG_ENABLE", - "DH_LOG_TAG=\"AudioDataInit64FuzzTest\"", - "LOG_DOMAIN=0xD004100", - ] - - external_deps = [ - "c_utils:utils", - "ipc:ipc_core", - "samgr:samgr_proxy", - ] -} - -############################################################################### -group("fuzztest") { - testonly = true - deps = [ ":AudioDataInit64FuzzTest" ] -} -############################################################################### diff --git a/services/common/test/fuzztest/audiodatasetinit64_fuzzer/audiodatasetinit64_fuzzer.cpp b/services/common/test/fuzztest/audiodatasetinit64_fuzzer/audiodatasetinit64_fuzzer.cpp deleted file mode 100644 index 6ccd26f1..00000000 --- a/services/common/test/fuzztest/audiodatasetinit64_fuzzer/audiodatasetinit64_fuzzer.cpp +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright (c) 2023 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "audiodatasetinit64_fuzzer.h" - -#include -#include - -#include "audio_data.h" -#include "if_system_ability_manager.h" -#include "iservice_registry.h" - -namespace OHOS { -namespace DistributedHardware { -void AudioDataInit64FuzzTest(const uint8_t* data, size_t size) -{ - if ((data == nullptr) || (size < (sizeof(int64_t)))) { - return; - } - - size_t capacity = 4096; - int64_t value = *(reinterpret_cast(data)); - std::string name(reinterpret_cast(data), size); - std::shared_ptr audioData = std::make_shared(capacity); - audioData->SetInt64(name, value); -} -} -} - -/* Fuzzer entry point */ -extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) -{ - /* Run your code on data */ - OHOS::DistributedHardware::AudioDataInit64FuzzTest(data, size); - return 0; -} - diff --git a/services/common/test/fuzztest/audiodatasetinit64_fuzzer/audiodatasetinit64_fuzzer.h b/services/common/test/fuzztest/audiodatasetinit64_fuzzer/audiodatasetinit64_fuzzer.h deleted file mode 100644 index c99e388f..00000000 --- a/services/common/test/fuzztest/audiodatasetinit64_fuzzer/audiodatasetinit64_fuzzer.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2023 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUDIODATASETINIT64_FUZZER_H -#define AUDIODATASETINIT64_FUZZER_H - -#define FUZZ_PROJECT_NAME "audiodatasetinit64_fuzzer" - -#endif \ No newline at end of file diff --git a/services/common/test/fuzztest/audiodatasetinit64_fuzzer/corpus/init b/services/common/test/fuzztest/audiodatasetinit64_fuzzer/corpus/init deleted file mode 100644 index 2b595da0..00000000 --- a/services/common/test/fuzztest/audiodatasetinit64_fuzzer/corpus/init +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2023 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -FUZZ \ No newline at end of file diff --git a/services/common/test/fuzztest/audiodatasetinit64_fuzzer/project.xml b/services/common/test/fuzztest/audiodatasetinit64_fuzzer/project.xml deleted file mode 100644 index 4fdbc407..00000000 --- a/services/common/test/fuzztest/audiodatasetinit64_fuzzer/project.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 1000 - - 300 - - 4096 - - diff --git a/services/common/test/unittest/audiodata/src/audio_data_test.cpp b/services/common/test/unittest/audiodata/src/audio_data_test.cpp index 0dd734b1..448f39ee 100644 --- a/services/common/test/unittest/audiodata/src/audio_data_test.cpp +++ b/services/common/test/unittest/audiodata/src/audio_data_test.cpp @@ -115,6 +115,7 @@ HWTEST_F(AudioDataTest, FindInt64_002, TestSize.Level1) { const std::string name = "name"; int64_t value = 1; + audioData->SetInt64(name, value); EXPECT_EQ(false, audioData->FindInt64(name, value)); } -- Gitee From 1981a096f892f1a974061c19c3379ef960661ef3 Mon Sep 17 00:00:00 2001 From: w30042960 Date: Wed, 31 May 2023 17:55:21 +0800 Subject: [PATCH 4/4] modify FUZZ Signed-off-by: w30042960 --- .../native_cpp/test/fuzztest/BUILD.gn | 1 + .../audiodatasetinit64_fuzzer/BUILD.gn | 60 +++++++++++++++++++ .../audiodatasetinit64_fuzzer.cpp | 49 +++++++++++++++ .../audiodatasetinit64_fuzzer.h | 21 +++++++ .../audiodatasetinit64_fuzzer/corpus/init | 16 +++++ .../audiodatasetinit64_fuzzer/project.xml | 25 ++++++++ .../audiodata/src/audio_data_test.cpp | 3 +- 7 files changed, 173 insertions(+), 2 deletions(-) create mode 100644 services/common/test/fuzztest/audiodatasetinit64_fuzzer/BUILD.gn create mode 100644 services/common/test/fuzztest/audiodatasetinit64_fuzzer/audiodatasetinit64_fuzzer.cpp create mode 100644 services/common/test/fuzztest/audiodatasetinit64_fuzzer/audiodatasetinit64_fuzzer.h create mode 100644 services/common/test/fuzztest/audiodatasetinit64_fuzzer/corpus/init create mode 100644 services/common/test/fuzztest/audiodatasetinit64_fuzzer/project.xml diff --git a/interfaces/inner_kits/native_cpp/test/fuzztest/BUILD.gn b/interfaces/inner_kits/native_cpp/test/fuzztest/BUILD.gn index 68222b7c..45f8f590 100644 --- a/interfaces/inner_kits/native_cpp/test/fuzztest/BUILD.gn +++ b/interfaces/inner_kits/native_cpp/test/fuzztest/BUILD.gn @@ -44,6 +44,7 @@ group("fuzztest") { "${services_path}/audiomanager/test/fuzztest/sourceserviceregisterdistributedhardware_fuzzer:fuzztest", "${services_path}/audiomanager/test/fuzztest/sourceservicereleasesource_fuzzer:fuzztest", "${services_path}/audiomanager/test/fuzztest/sourceserviceunregisterdistributedhardware_fuzzer:fuzztest", + "${services_path}/common/test/fuzztest/audiodatasetinit64_fuzzer:fuzztest", "onremotesinksvrdied_fuzzer:fuzztest", "onremotesourcesvrdied_fuzzer:fuzztest", "sinkhandlerfinishstartsa_fuzzer:fuzztest", diff --git a/services/common/test/fuzztest/audiodatasetinit64_fuzzer/BUILD.gn b/services/common/test/fuzztest/audiodatasetinit64_fuzzer/BUILD.gn new file mode 100644 index 00000000..1f0d6f83 --- /dev/null +++ b/services/common/test/fuzztest/audiodatasetinit64_fuzzer/BUILD.gn @@ -0,0 +1,60 @@ +# Copyright (c) 2022 Huawei Device Co., Ltd. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +#####################hydra-fuzz################### +import("//build/config/features.gni") +import("//build/test.gni") +import("../../../../../distributedaudio.gni") + +##############################fuzztest########################################## +ohos_fuzztest("AudioDataInit64FuzzTest") { + module_out_path = "distributed_audio/audiodatasetinit64_fuzzer" + fuzz_config_file = + "${services_path}/common/test/fuzztest/audiodatasetinit64_fuzzer" + + cflags = [ + "-g", + "-O0", + "-Wno-unused-variable", + "-fno-omit-frame-pointer", + ] + sources = [ "audiodatasetinit64_fuzzer.cpp" ] + + include_dirs = [] + + include_dirs += [ + "include", + "${common_path}/include", + ] + + deps = [ "${services_path}/common:distributed_audio_utils" ] + + defines = [ + "HI_LOG_ENABLE", + "DH_LOG_TAG=\"AudioDataInit64FuzzTest\"", + "LOG_DOMAIN=0xD004100", + ] + + external_deps = [ + "c_utils:utils", + "ipc:ipc_core", + "samgr:samgr_proxy", + ] +} + +############################################################################### +group("fuzztest") { + testonly = true + deps = [ ":AudioDataInit64FuzzTest" ] +} +############################################################################### diff --git a/services/common/test/fuzztest/audiodatasetinit64_fuzzer/audiodatasetinit64_fuzzer.cpp b/services/common/test/fuzztest/audiodatasetinit64_fuzzer/audiodatasetinit64_fuzzer.cpp new file mode 100644 index 00000000..6ccd26f1 --- /dev/null +++ b/services/common/test/fuzztest/audiodatasetinit64_fuzzer/audiodatasetinit64_fuzzer.cpp @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "audiodatasetinit64_fuzzer.h" + +#include +#include + +#include "audio_data.h" +#include "if_system_ability_manager.h" +#include "iservice_registry.h" + +namespace OHOS { +namespace DistributedHardware { +void AudioDataInit64FuzzTest(const uint8_t* data, size_t size) +{ + if ((data == nullptr) || (size < (sizeof(int64_t)))) { + return; + } + + size_t capacity = 4096; + int64_t value = *(reinterpret_cast(data)); + std::string name(reinterpret_cast(data), size); + std::shared_ptr audioData = std::make_shared(capacity); + audioData->SetInt64(name, value); +} +} +} + +/* Fuzzer entry point */ +extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) +{ + /* Run your code on data */ + OHOS::DistributedHardware::AudioDataInit64FuzzTest(data, size); + return 0; +} + diff --git a/services/common/test/fuzztest/audiodatasetinit64_fuzzer/audiodatasetinit64_fuzzer.h b/services/common/test/fuzztest/audiodatasetinit64_fuzzer/audiodatasetinit64_fuzzer.h new file mode 100644 index 00000000..c99e388f --- /dev/null +++ b/services/common/test/fuzztest/audiodatasetinit64_fuzzer/audiodatasetinit64_fuzzer.h @@ -0,0 +1,21 @@ +/* + * Copyright (c) 2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef AUDIODATASETINIT64_FUZZER_H +#define AUDIODATASETINIT64_FUZZER_H + +#define FUZZ_PROJECT_NAME "audiodatasetinit64_fuzzer" + +#endif \ No newline at end of file diff --git a/services/common/test/fuzztest/audiodatasetinit64_fuzzer/corpus/init b/services/common/test/fuzztest/audiodatasetinit64_fuzzer/corpus/init new file mode 100644 index 00000000..2b595da0 --- /dev/null +++ b/services/common/test/fuzztest/audiodatasetinit64_fuzzer/corpus/init @@ -0,0 +1,16 @@ +/* + * Copyright (c) 2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +FUZZ \ No newline at end of file diff --git a/services/common/test/fuzztest/audiodatasetinit64_fuzzer/project.xml b/services/common/test/fuzztest/audiodatasetinit64_fuzzer/project.xml new file mode 100644 index 00000000..4fdbc407 --- /dev/null +++ b/services/common/test/fuzztest/audiodatasetinit64_fuzzer/project.xml @@ -0,0 +1,25 @@ + + + + + + 1000 + + 300 + + 4096 + + diff --git a/services/common/test/unittest/audiodata/src/audio_data_test.cpp b/services/common/test/unittest/audiodata/src/audio_data_test.cpp index 448f39ee..c6c496e0 100644 --- a/services/common/test/unittest/audiodata/src/audio_data_test.cpp +++ b/services/common/test/unittest/audiodata/src/audio_data_test.cpp @@ -101,7 +101,7 @@ HWTEST_F(AudioDataTest, FindInt64_001, TestSize.Level1) { const std::string name = "name"; int64_t value = 1; - audioData->int64Map_.insert(std::make_pair(name, value)); + audioData->SetInt64(name, value); EXPECT_EQ(true, audioData->FindInt64(name, value)); } @@ -115,7 +115,6 @@ HWTEST_F(AudioDataTest, FindInt64_002, TestSize.Level1) { const std::string name = "name"; int64_t value = 1; - audioData->SetInt64(name, value); EXPECT_EQ(false, audioData->FindInt64(name, value)); } -- Gitee