From 087b0aef3fc2a32653bb4a6735ac436167cedd07 Mon Sep 17 00:00:00 2001 From: byndyx Date: Tue, 1 Apr 2025 11:09:26 +0800 Subject: [PATCH] fix fuzz Signed-off-by: byndyx --- .../sinkserviceinitsink_fuzzer.cpp | 12 +++++++----- ...kservicepausedistributedhardware_fuzzer.cpp | 13 ++++++++----- .../sinkservicereleasesink_fuzzer.cpp | 10 ++++++---- ...serviceresumedistributedhardware_fuzzer.cpp | 13 ++++++++----- ...nkservicestopdistributedhardware_fuzzer.cpp | 13 ++++++++----- ...inkservicesubscribelocalhardware_fuzzer.cpp | 14 ++++++++------ ...kserviceunsubscribelocalhardware_fuzzer.cpp | 12 +++++++----- ...serviceconfigdistributedhardware_fuzzer.cpp | 18 ++++++++++-------- .../sourceserviceinitsource_fuzzer.cpp | 12 +++++++----- ...rviceregisterdistributedhardware_fuzzer.cpp | 14 ++++++++------ .../sourceservicereleasesource_fuzzer.cpp | 10 ++++++---- ...iceunregisterdistributedhardware_fuzzer.cpp | 16 +++++++++------- 12 files changed, 92 insertions(+), 65 deletions(-) diff --git a/services/audiomanager/test/fuzztest/sinkserviceinitsink_fuzzer/sinkserviceinitsink_fuzzer.cpp b/services/audiomanager/test/fuzztest/sinkserviceinitsink_fuzzer/sinkserviceinitsink_fuzzer.cpp index 296be258..37088a4e 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) 2023-2024 Huawei Device Co., Ltd. + * Copyright (c) 2023-2025 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 @@ -17,6 +17,7 @@ #include #include +#include #include "daudio_sink_service.h" #include "daudio_sink_ipc_callback.h" @@ -31,10 +32,11 @@ void SinkServiceInitSinkFuzzTest(const uint8_t* data, size_t size) return; } - int32_t saId = *(reinterpret_cast(data)); - std::string params(reinterpret_cast(data), size); - bool runOnCreate = *(reinterpret_cast(data)); - + FuzzedDataProvider fdp(data, size); + int32_t saId = fdp.ConsumeIntegral(); + std::string params = fdp.ConsumeRandomLengthString(); + bool runOnCreate = fdp.ConsumeBool(); + auto dAudioSinkService = std::make_shared(saId, runOnCreate); sptr dAudioSinkIpcCallback(new DAudioSinkIpcCallback()); diff --git a/services/audiomanager/test/fuzztest/sinkservicepausedistributedhardware_fuzzer/sinkservicepausedistributedhardware_fuzzer.cpp b/services/audiomanager/test/fuzztest/sinkservicepausedistributedhardware_fuzzer/sinkservicepausedistributedhardware_fuzzer.cpp index a8a41bce..d7b11b40 100644 --- a/services/audiomanager/test/fuzztest/sinkservicepausedistributedhardware_fuzzer/sinkservicepausedistributedhardware_fuzzer.cpp +++ b/services/audiomanager/test/fuzztest/sinkservicepausedistributedhardware_fuzzer/sinkservicepausedistributedhardware_fuzzer.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2024 Huawei Device Co., Ltd. + * Copyright (c) 2024-2025 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 @@ -17,6 +17,7 @@ #include #include +#include #include "daudio_sink_service.h" #include "if_system_ability_manager.h" @@ -29,10 +30,12 @@ void SinkServicePauseDistributedHardwareFuzzTest(const uint8_t* data, size_t siz if ((data == nullptr) || size < (sizeof(int32_t))) { return; } - std::string networkId(reinterpret_cast(data), size); - int32_t saId = *(reinterpret_cast(data)); - bool runOnCreate = *(reinterpret_cast(data)); - + + FuzzedDataProvider fdp(data, size); + int32_t saId = fdp.ConsumeIntegral(); + std::string networkId = fdp.ConsumeRandomLengthString(); + bool runOnCreate = fdp.ConsumeBool(); + auto dAudioSinkService = std::make_shared(saId, runOnCreate); dAudioSinkService->PauseDistributedHardware(networkId); diff --git a/services/audiomanager/test/fuzztest/sinkservicereleasesink_fuzzer/sinkservicereleasesink_fuzzer.cpp b/services/audiomanager/test/fuzztest/sinkservicereleasesink_fuzzer/sinkservicereleasesink_fuzzer.cpp index 1149cef8..cad6ebaf 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) 2023 Huawei Device Co., Ltd. + * Copyright (c) 2023-2025 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 @@ -17,6 +17,7 @@ #include #include +#include #include "daudio_sink_service.h" #include "if_system_ability_manager.h" @@ -30,9 +31,10 @@ void SinkServiceReleaseSinkFuzzTest(const uint8_t* data, size_t size) return; } - int32_t saId = *(reinterpret_cast(data)); - bool runOnCreate = *(reinterpret_cast(data)); - + FuzzedDataProvider fdp(data, size); + int32_t saId = fdp.ConsumeIntegral(); + bool runOnCreate = fdp.ConsumeBool(); + auto dAudioSinkService = std::make_shared(saId, runOnCreate); dAudioSinkService->ReleaseSink(); diff --git a/services/audiomanager/test/fuzztest/sinkserviceresumedistributedhardware_fuzzer/sinkserviceresumedistributedhardware_fuzzer.cpp b/services/audiomanager/test/fuzztest/sinkserviceresumedistributedhardware_fuzzer/sinkserviceresumedistributedhardware_fuzzer.cpp index 8448d242..339a116c 100644 --- a/services/audiomanager/test/fuzztest/sinkserviceresumedistributedhardware_fuzzer/sinkserviceresumedistributedhardware_fuzzer.cpp +++ b/services/audiomanager/test/fuzztest/sinkserviceresumedistributedhardware_fuzzer/sinkserviceresumedistributedhardware_fuzzer.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2024 Huawei Device Co., Ltd. + * Copyright (c) 2024-2025 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 @@ -17,6 +17,7 @@ #include #include +#include #include "daudio_sink_service.h" #include "if_system_ability_manager.h" @@ -29,10 +30,12 @@ void SinkServiceResumeDistributedHardwareFuzzTest(const uint8_t* data, size_t si if ((data == nullptr) || size < (sizeof(int32_t))) { return; } - std::string networkId(reinterpret_cast(data), size); - int32_t saId = *(reinterpret_cast(data)); - bool runOnCreate = *(reinterpret_cast(data)); - + + FuzzedDataProvider fdp(data, size); + int32_t saId = fdp.ConsumeIntegral(); + std::string networkId = fdp.ConsumeRandomLengthString(); + bool runOnCreate = fdp.ConsumeBool(); + auto dAudioSinkService = std::make_shared(saId, runOnCreate); dAudioSinkService->ResumeDistributedHardware(networkId); diff --git a/services/audiomanager/test/fuzztest/sinkservicestopdistributedhardware_fuzzer/sinkservicestopdistributedhardware_fuzzer.cpp b/services/audiomanager/test/fuzztest/sinkservicestopdistributedhardware_fuzzer/sinkservicestopdistributedhardware_fuzzer.cpp index 46eef7c8..84530daf 100644 --- a/services/audiomanager/test/fuzztest/sinkservicestopdistributedhardware_fuzzer/sinkservicestopdistributedhardware_fuzzer.cpp +++ b/services/audiomanager/test/fuzztest/sinkservicestopdistributedhardware_fuzzer/sinkservicestopdistributedhardware_fuzzer.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2024 Huawei Device Co., Ltd. + * Copyright (c) 2024-2025 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 @@ -17,6 +17,7 @@ #include #include +#include #include "daudio_sink_service.h" #include "if_system_ability_manager.h" @@ -29,10 +30,12 @@ void SinkServiceStopDistributedHardwareFuzzTest(const uint8_t* data, size_t size if ((data == nullptr) || size < (sizeof(int32_t))) { return; } - std::string networkId(reinterpret_cast(data), size); - int32_t saId = *(reinterpret_cast(data)); - bool runOnCreate = *(reinterpret_cast(data)); - + + FuzzedDataProvider fdp(data, size); + int32_t saId = fdp.ConsumeIntegral(); + std::string networkId = fdp.ConsumeRandomLengthString(); + bool runOnCreate = fdp.ConsumeBool(); + auto dAudioSinkService = std::make_shared(saId, runOnCreate); dAudioSinkService->StopDistributedHardware(networkId); diff --git a/services/audiomanager/test/fuzztest/sinkservicesubscribelocalhardware_fuzzer/sinkservicesubscribelocalhardware_fuzzer.cpp b/services/audiomanager/test/fuzztest/sinkservicesubscribelocalhardware_fuzzer/sinkservicesubscribelocalhardware_fuzzer.cpp index f0f4180f..e28799f3 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) 2023 Huawei Device Co., Ltd. + * Copyright (c) 2023-2025 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 @@ -17,6 +17,7 @@ #include #include +#include #include "daudio_sink_service.h" #include "if_system_ability_manager.h" @@ -30,11 +31,12 @@ void SinkServiceSubscribeLocalHardwareFuzzTest(const uint8_t* data, size_t size) return; } - std::string dhId(reinterpret_cast(data), size); - std::string param(reinterpret_cast(data), size); - int32_t saId = *(reinterpret_cast(data)); - bool runOnCreate = *(reinterpret_cast(data)); - + FuzzedDataProvider fdp(data, size); + std::string dhId = fdp.ConsumeRandomLengthString(); + std::string param = fdp.ConsumeRandomLengthString(); + int32_t saId = fdp.ConsumeIntegral(); + bool runOnCreate = fdp.ConsumeBool(); + auto dAudioSinkService = std::make_shared(saId, runOnCreate); dAudioSinkService->SubscribeLocalHardware(dhId, param); diff --git a/services/audiomanager/test/fuzztest/sinkserviceunsubscribelocalhardware_fuzzer/sinkserviceunsubscribelocalhardware_fuzzer.cpp b/services/audiomanager/test/fuzztest/sinkserviceunsubscribelocalhardware_fuzzer/sinkserviceunsubscribelocalhardware_fuzzer.cpp index d474197f..6c36656b 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) 2023 Huawei Device Co., Ltd. + * Copyright (c) 2023-2025 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 @@ -17,6 +17,7 @@ #include #include +#include #include "daudio_sink_service.h" #include "if_system_ability_manager.h" @@ -30,10 +31,11 @@ void SinkServiceUnsubscribeLocalHardwareFuzzTest(const uint8_t* data, size_t siz return; } - std::string dhId(reinterpret_cast(data), size); - int32_t saId = *(reinterpret_cast(data)); - bool runOnCreate = *(reinterpret_cast(data)); - + FuzzedDataProvider fdp(data, size); + int32_t saId = fdp.ConsumeIntegral(); + std::string dhId = fdp.ConsumeRandomLengthString(); + bool runOnCreate = fdp.ConsumeBool(); + auto dAudioSinkService = std::make_shared(saId, runOnCreate); dAudioSinkService->UnsubscribeLocalHardware(dhId); } diff --git a/services/audiomanager/test/fuzztest/sourceserviceconfigdistributedhardware_fuzzer/sourceserviceconfigdistributedhardware_fuzzer.cpp b/services/audiomanager/test/fuzztest/sourceserviceconfigdistributedhardware_fuzzer/sourceserviceconfigdistributedhardware_fuzzer.cpp index a050f1e0..babe1fc8 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) 2023 Huawei Device Co., Ltd. + * Copyright (c) 2023-2025 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 @@ -17,6 +17,7 @@ #include #include +#include #include "daudio_source_service.h" #include "if_system_ability_manager.h" @@ -30,13 +31,14 @@ void SourceServiceConfigDistributedHardwareFuzzTest(const uint8_t* data, size_t return; } - int32_t saId = *(reinterpret_cast(data)); - bool runOnCreate = *(reinterpret_cast(data)); - std::string devId(reinterpret_cast(data), size); - std::string dhId(reinterpret_cast(data), size); - std::string key(reinterpret_cast(data), size); - std::string value(reinterpret_cast(data), size); - + FuzzedDataProvider fdp(data, size); + int32_t saId = fdp.ConsumeIntegral(); + std::string devId = fdp.ConsumeRandomLengthString(); + std::string dhId = fdp.ConsumeRandomLengthString(); + std::string key = fdp.ConsumeRandomLengthString(); + std::string value = fdp.ConsumeRandomLengthString(); + bool runOnCreate = fdp.ConsumeBool(); + auto dAudioSourceService = std::make_shared(saId, runOnCreate); dAudioSourceService->ConfigDistributedHardware(devId, dhId, key, value); } diff --git a/services/audiomanager/test/fuzztest/sourceserviceinitsource_fuzzer/sourceserviceinitsource_fuzzer.cpp b/services/audiomanager/test/fuzztest/sourceserviceinitsource_fuzzer/sourceserviceinitsource_fuzzer.cpp index 0fb9d40a..452f4411 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) 2023-2024 Huawei Device Co., Ltd. + * Copyright (c) 2023-2025 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 @@ -17,6 +17,7 @@ #include #include +#include #include "daudio_ipc_callback.h" #include "daudio_source_service.h" @@ -31,10 +32,11 @@ void SourceServiceInitSourceFuzzTest(const uint8_t* data, size_t size) return; } - int32_t saId = *(reinterpret_cast(data)); - std::string params(reinterpret_cast(data), size); - bool runOnCreate = *(reinterpret_cast(data)); - + FuzzedDataProvider fdp(data, size); + int32_t saId = fdp.ConsumeIntegral(); + std::string params = fdp.ConsumeRandomLengthString(); + bool runOnCreate = fdp.ConsumeBool(); + auto dAudioSourceService = std::make_shared(saId, runOnCreate); sptr callback(new DAudioIpcCallback()); dAudioSourceService->InitSource(params, callback); diff --git a/services/audiomanager/test/fuzztest/sourceserviceregisterdistributedhardware_fuzzer/sourceserviceregisterdistributedhardware_fuzzer.cpp b/services/audiomanager/test/fuzztest/sourceserviceregisterdistributedhardware_fuzzer/sourceserviceregisterdistributedhardware_fuzzer.cpp index 9ef90fda..a83dc5c3 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) 2023 Huawei Device Co., Ltd. + * Copyright (c) 2023-2025 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 @@ -17,6 +17,7 @@ #include #include +#include #include "daudio_source_service.h" #include "if_system_ability_manager.h" @@ -30,11 +31,12 @@ void SourceServiceRegisterDistributedHardwareFuzzTest(const uint8_t* data, size_ return; } - int32_t saId = *(reinterpret_cast(data)); - bool runOnCreate = *(reinterpret_cast(data)); - std::string devId(reinterpret_cast(data), size); - std::string dhId(reinterpret_cast(data), size); - std::string reqId(reinterpret_cast(data), size); + FuzzedDataProvider fdp(data, size); + int32_t saId = fdp.ConsumeIntegral(); + std::string devId = fdp.ConsumeRandomLengthString(); + std::string dhId = fdp.ConsumeRandomLengthString(); + std::string reqId = fdp.ConsumeRandomLengthString(); + bool runOnCreate = fdp.ConsumeBool(); EnableParam param; auto dAudioSourceService = std::make_shared(saId, runOnCreate); diff --git a/services/audiomanager/test/fuzztest/sourceservicereleasesource_fuzzer/sourceservicereleasesource_fuzzer.cpp b/services/audiomanager/test/fuzztest/sourceservicereleasesource_fuzzer/sourceservicereleasesource_fuzzer.cpp index a592047e..96a82a87 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) 2023 Huawei Device Co., Ltd. + * Copyright (c) 2023-2025 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 @@ -17,6 +17,7 @@ #include #include +#include #include "daudio_source_service.h" #include "if_system_ability_manager.h" @@ -30,9 +31,10 @@ void SourceServiceReleaseSourceFuzzTest(const uint8_t* data, size_t size) return; } - int32_t saId = *(reinterpret_cast(data)); - bool runOnCreate = *(reinterpret_cast(data)); - + FuzzedDataProvider fdp(data, size); + int32_t saId = fdp.ConsumeIntegral(); + bool runOnCreate = fdp.ConsumeBool(); + auto dAudioSourceService = std::make_shared(saId, runOnCreate); dAudioSourceService->ReleaseSource(); } diff --git a/services/audiomanager/test/fuzztest/sourceserviceunregisterdistributedhardware_fuzzer/sourceserviceunregisterdistributedhardware_fuzzer.cpp b/services/audiomanager/test/fuzztest/sourceserviceunregisterdistributedhardware_fuzzer/sourceserviceunregisterdistributedhardware_fuzzer.cpp index 1cd26924..a580883c 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) 2023 Huawei Device Co., Ltd. + * Copyright (c) 2023-2025 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 @@ -17,6 +17,7 @@ #include #include +#include #include "daudio_source_service.h" #include "if_system_ability_manager.h" @@ -30,12 +31,13 @@ void SourceServiceUnregisterDistributedHardwareFuzzTest(const uint8_t* data, siz return; } - int32_t saId = *(reinterpret_cast(data)); - bool runOnCreate = *(reinterpret_cast(data)); - std::string devId(reinterpret_cast(data), size); - std::string dhId(reinterpret_cast(data), size); - std::string reqId(reinterpret_cast(data), size); - + FuzzedDataProvider fdp(data, size); + int32_t saId = fdp.ConsumeIntegral(); + bool runOnCreate = fdp.ConsumeBool(); + std::string devId = fdp.ConsumeRandomLengthString(); + std::string dhId = fdp.ConsumeRandomLengthString(); + std::string reqId = fdp.ConsumeRandomLengthString(); + auto dAudioSourceService = std::make_shared(saId, runOnCreate); dAudioSourceService->UnregisterDistributedHardware(devId, dhId, reqId); } -- Gitee