From 90ab06aa50c3a8c30ce35ae636e865da496e1c65 Mon Sep 17 00:00:00 2001 From: w30042960 Date: Wed, 17 Jul 2024 10:02:01 +0800 Subject: [PATCH] modify sptr Signed-off-by: w30042960 --- common/src/utils/data_buffer.cpp | 2 +- .../native_cpp/camera_sink/src/dcamera_sink_handler.cpp | 2 +- .../camera_sink/src/dcamera_sink_handler_ipc.cpp | 2 +- .../camera_source/src/dcamera_source_handler.cpp | 2 +- .../camera_source/src/dcamera_source_handler_ipc.cpp | 2 +- .../common/camera_sink/dcamera_sink_handler_test.cpp | 2 +- .../cameraoperator/client/src/dcamera_client.cpp | 3 ++- .../include/distributedcamera/dcamera_sink_hidumper.h | 1 + .../src/distributedcamera/dcamera_sink_hidumper.cpp | 4 ++++ .../src/distributedcameramgr/dcamera_sink_service_ipc.cpp | 2 +- .../dcamera_sink_callback_proxy_test.cpp | 8 -------- .../include/distributedcamera/dcamera_source_hidumper.h | 1 + .../src/distributedcamera/dcamera_source_hidumper.cpp | 4 ++++ .../src/distributedcameramgr/dcamera_source_dev.cpp | 3 ++- .../distributedcameramgr/dcamera_source_service_ipc.cpp | 2 +- .../dcameracontrol/dcamera_source_controller.cpp | 2 +- .../dcamera_stream_data_process_producer_test.cpp | 4 ++-- 17 files changed, 25 insertions(+), 21 deletions(-) diff --git a/common/src/utils/data_buffer.cpp b/common/src/utils/data_buffer.cpp index 24aed42d..4d10a674 100644 --- a/common/src/utils/data_buffer.cpp +++ b/common/src/utils/data_buffer.cpp @@ -21,7 +21,7 @@ namespace OHOS { namespace DistributedHardware { DataBuffer::DataBuffer(size_t capacity) { - if (capacity != 0) { + if (capacity != 0 && capacity <= DCAMERA_MAX_RECV_DATA_LEN) { data_ = new uint8_t[capacity] {0}; if (data_ != nullptr) { capacity_ = capacity; diff --git a/interfaces/inner_kits/native_cpp/camera_sink/src/dcamera_sink_handler.cpp b/interfaces/inner_kits/native_cpp/camera_sink/src/dcamera_sink_handler.cpp index 18b1f6ef..0d2c6ba8 100644 --- a/interfaces/inner_kits/native_cpp/camera_sink/src/dcamera_sink_handler.cpp +++ b/interfaces/inner_kits/native_cpp/camera_sink/src/dcamera_sink_handler.cpp @@ -40,7 +40,7 @@ DCameraSinkHandler::DCameraSinkHandler() { DHLOGI("DCameraSinkHandler ctor."); if (!dCameraSinkCallback_) { - dCameraSinkCallback_ = new DCameraSinkCallback(); + dCameraSinkCallback_ = sptr(new DCameraSinkCallback()); } } diff --git a/interfaces/inner_kits/native_cpp/camera_sink/src/dcamera_sink_handler_ipc.cpp b/interfaces/inner_kits/native_cpp/camera_sink/src/dcamera_sink_handler_ipc.cpp index f18e120c..690abfbc 100644 --- a/interfaces/inner_kits/native_cpp/camera_sink/src/dcamera_sink_handler_ipc.cpp +++ b/interfaces/inner_kits/native_cpp/camera_sink/src/dcamera_sink_handler_ipc.cpp @@ -48,7 +48,7 @@ void DCameraSinkHandlerIpc::Init() DHLOGI("DCameraSinkHandlerIpc has already init"); return; } - sinkLocalRecipient_ = new SinkLocalRecipient(); + sinkLocalRecipient_ = sptr(new SinkLocalRecipient()); isInit_ = true; DHLOGI("End"); } diff --git a/interfaces/inner_kits/native_cpp/camera_source/src/dcamera_source_handler.cpp b/interfaces/inner_kits/native_cpp/camera_source/src/dcamera_source_handler.cpp index 13c002d3..ca20af13 100644 --- a/interfaces/inner_kits/native_cpp/camera_source/src/dcamera_source_handler.cpp +++ b/interfaces/inner_kits/native_cpp/camera_source/src/dcamera_source_handler.cpp @@ -33,7 +33,7 @@ IMPLEMENT_SINGLE_INSTANCE(DCameraSourceHandler); DCameraSourceHandler::DCameraSourceHandler() { DHLOGI("DCameraSourceHandler construct."); - callback_ = new DCameraSourceCallback(); + callback_ = sptr(new DCameraSourceCallback()); } DCameraSourceHandler::~DCameraSourceHandler() diff --git a/interfaces/inner_kits/native_cpp/camera_source/src/dcamera_source_handler_ipc.cpp b/interfaces/inner_kits/native_cpp/camera_source/src/dcamera_source_handler_ipc.cpp index 36317d84..fe9911c5 100644 --- a/interfaces/inner_kits/native_cpp/camera_source/src/dcamera_source_handler_ipc.cpp +++ b/interfaces/inner_kits/native_cpp/camera_source/src/dcamera_source_handler_ipc.cpp @@ -48,7 +48,7 @@ void DCameraSourceHandlerIpc::Init() DHLOGI("DCameraSourceHandlerIpc has already init"); return; } - sourceLocalRecipient_ = new SourceLocalRecipient(); + sourceLocalRecipient_ = sptr(new SourceLocalRecipient()); isInit_ = true; DHLOGI("End"); } diff --git a/interfaces/inner_kits/native_cpp/test/unittest/common/camera_sink/dcamera_sink_handler_test.cpp b/interfaces/inner_kits/native_cpp/test/unittest/common/camera_sink/dcamera_sink_handler_test.cpp index cdec2924..193f4f60 100644 --- a/interfaces/inner_kits/native_cpp/test/unittest/common/camera_sink/dcamera_sink_handler_test.cpp +++ b/interfaces/inner_kits/native_cpp/test/unittest/common/camera_sink/dcamera_sink_handler_test.cpp @@ -208,7 +208,7 @@ HWTEST_F(DCameraSinkHandlerTest, dcamera_sink_handler_test_006, TestSize.Level1) HWTEST_F(DCameraSinkHandlerTest, dcamera_sink_handler_test_007, TestSize.Level1) { int32_t ret = DCameraSinkHandler::GetInstance().ReleaseSink(); - EXPECT_EQ(DCAMERA_BAD_VALUE, ret); + EXPECT_EQ(DCAMERA_OK, ret); } /** diff --git a/services/cameraservice/cameraoperator/client/src/dcamera_client.cpp b/services/cameraservice/cameraoperator/client/src/dcamera_client.cpp index ea2ea607..5a13933f 100644 --- a/services/cameraservice/cameraoperator/client/src/dcamera_client.cpp +++ b/services/cameraservice/cameraoperator/client/src/dcamera_client.cpp @@ -465,7 +465,8 @@ int32_t DCameraClient::CreatePhotoOutput(std::shared_ptr& in "%{public}d, isCapture: %{public}d", GetAnonyString(cameraId_).c_str(), info->width_, info->height_, info->format_, info->streamType_, info->isCapture_); photoSurface_ = IConsumerSurface::Create(); - photoListener_ = new DCameraPhotoSurfaceListener(photoSurface_, resultCallback_); + photoListener_ = sptr( + new DCameraPhotoSurfaceListener(photoSurface_, resultCallback_)); photoSurface_->RegisterConsumerListener((sptr &)photoListener_); CameraStandard::CameraFormat photoFormat = ConvertToCameraFormat(info->format_); CameraStandard::Size photoSize = {info->width_, info->height_}; diff --git a/services/cameraservice/sinkservice/include/distributedcamera/dcamera_sink_hidumper.h b/services/cameraservice/sinkservice/include/distributedcamera/dcamera_sink_hidumper.h index a2ede462..5203e255 100644 --- a/services/cameraservice/sinkservice/include/distributedcamera/dcamera_sink_hidumper.h +++ b/services/cameraservice/sinkservice/include/distributedcamera/dcamera_sink_hidumper.h @@ -61,6 +61,7 @@ private: private: CameraDumpInfo camDumpInfo_; + const size_t DUMP_MAX_SIZE = 10 * 1024; }; } // namespace DistributedHardware } // namespace OHOS diff --git a/services/cameraservice/sinkservice/src/distributedcamera/dcamera_sink_hidumper.cpp b/services/cameraservice/sinkservice/src/distributedcamera/dcamera_sink_hidumper.cpp index 2553d16f..ba63bcdc 100644 --- a/services/cameraservice/sinkservice/src/distributedcamera/dcamera_sink_hidumper.cpp +++ b/services/cameraservice/sinkservice/src/distributedcamera/dcamera_sink_hidumper.cpp @@ -51,6 +51,10 @@ bool DcameraSinkHidumper::Dump(const std::vector& args, std::string { result.clear(); int32_t argsSize = static_cast(args.size()); + if (argsSize > DUMP_MAX_SIZE) { + DHLOGE("DcameraSinkHidumper Dump args.size() is invalid"); + return false; + } DHLOGI("DcameraSinkHidumper Dump args.size():%{public}d.", argsSize); if (args.empty()) { ShowHelp(result); diff --git a/services/cameraservice/sinkservice/src/distributedcameramgr/dcamera_sink_service_ipc.cpp b/services/cameraservice/sinkservice/src/distributedcameramgr/dcamera_sink_service_ipc.cpp index 7ad8a4de..25a286f9 100644 --- a/services/cameraservice/sinkservice/src/distributedcameramgr/dcamera_sink_service_ipc.cpp +++ b/services/cameraservice/sinkservice/src/distributedcameramgr/dcamera_sink_service_ipc.cpp @@ -46,7 +46,7 @@ void DCameraSinkServiceIpc::Init() DHLOGI("DCameraSinkServiceIpc has already init"); return; } - sourceRemoteRecipient_ = new SourceRemoteRecipient(); + sourceRemoteRecipient_ = sptr(new SourceRemoteRecipient()); isInit_ = true; DHLOGI("DCameraSinkServiceIpc Init End"); } diff --git a/services/cameraservice/sinkservice/test/unittest/common/distributedcamera/dcamera_sink_callback_proxy_test.cpp b/services/cameraservice/sinkservice/test/unittest/common/distributedcamera/dcamera_sink_callback_proxy_test.cpp index b023c358..7ea1c2a3 100644 --- a/services/cameraservice/sinkservice/test/unittest/common/distributedcamera/dcamera_sink_callback_proxy_test.cpp +++ b/services/cameraservice/sinkservice/test/unittest/common/distributedcamera/dcamera_sink_callback_proxy_test.cpp @@ -69,14 +69,6 @@ HWTEST_F(DcameraSinkCallbackProxyTest, dcamera_sink_callback_proxy_test_001, Tes sptr remoteObject = samgr->GetSystemAbility(DISTRIBUTED_HARDWARE_CAMERA_SINK_SA_ID); sptr callbackProxy(new DCameraSinkCallbackProxy(remoteObject)); EXPECT_EQ(false, callbackProxy == nullptr); - - ResourceEventType type = ResourceEventType::EVENT_TYPE_QUERY_RESOURCE; - const std::string subtype = ""; - const std::string networkId = ""; - bool isSensitive = 0; - bool isSameAccout = 0; - int32_t ret = callbackProxy->OnNotifyResourceInfo(type, subtype, networkId, isSensitive, isSameAccout); - EXPECT_EQ(DCAMERA_BAD_VALUE, ret); } } // namespace DistributedHardware } // namespace OHOS \ No newline at end of file diff --git a/services/cameraservice/sourceservice/include/distributedcamera/dcamera_source_hidumper.h b/services/cameraservice/sourceservice/include/distributedcamera/dcamera_source_hidumper.h index 033a7810..1139cd4a 100644 --- a/services/cameraservice/sourceservice/include/distributedcamera/dcamera_source_hidumper.h +++ b/services/cameraservice/sourceservice/include/distributedcamera/dcamera_source_hidumper.h @@ -69,6 +69,7 @@ private: private: CameraDumpInfo camDumpInfo_; + const size_t DUMP_MAX_SIZE = 10 * 1024; }; } // namespace DistributedHardware } // namespace OHOS diff --git a/services/cameraservice/sourceservice/src/distributedcamera/dcamera_source_hidumper.cpp b/services/cameraservice/sourceservice/src/distributedcamera/dcamera_source_hidumper.cpp index 92788bed..7205df5e 100644 --- a/services/cameraservice/sourceservice/src/distributedcamera/dcamera_source_hidumper.cpp +++ b/services/cameraservice/sourceservice/src/distributedcamera/dcamera_source_hidumper.cpp @@ -64,6 +64,10 @@ bool DcameraSourceHidumper::Dump(const std::vector& args, std::stri { result.clear(); int32_t argsSize = static_cast(args.size()); + if (argsSize > DUMP_MAX_SIZE) { + DHLOGE("DcameraSourceHidumper Dump args.size() is invalid"); + return false; + } DHLOGI("DcameraSourceHidumper Dump args.size():%{public}d.", argsSize); if (args.empty()) { ShowHelp(result); diff --git a/services/cameraservice/sourceservice/src/distributedcameramgr/dcamera_source_dev.cpp b/services/cameraservice/sourceservice/src/distributedcameramgr/dcamera_source_dev.cpp index c3c3cc1d..15805407 100644 --- a/services/cameraservice/sourceservice/src/distributedcameramgr/dcamera_source_dev.cpp +++ b/services/cameraservice/sourceservice/src/distributedcameramgr/dcamera_source_dev.cpp @@ -84,7 +84,8 @@ int32_t DCameraSourceDev::InitDCameraSourceDev() stateMachine_->UpdateState(DCAMERA_STATE_INIT); controller_ = std::make_shared(devId_, dhId_, stateMachine_, cameraSourceDev); input_ = std::make_shared(devId_, dhId_, cameraSourceDev); - hdiCallback_ = new (std::nothrow) DCameraProviderCallbackImpl(devId_, dhId_, cameraSourceDev); + hdiCallback_ = sptr( + new (std::nothrow) DCameraProviderCallbackImpl(devId_, dhId_, cameraSourceDev)); if (hdiCallback_ == nullptr) { DHLOGE("DCameraSourceDev InitDCameraSourceDev failed, hdiCallback is null."); return DCAMERA_BAD_VALUE; diff --git a/services/cameraservice/sourceservice/src/distributedcameramgr/dcamera_source_service_ipc.cpp b/services/cameraservice/sourceservice/src/distributedcameramgr/dcamera_source_service_ipc.cpp index 79de79dc..ad2aec06 100644 --- a/services/cameraservice/sourceservice/src/distributedcameramgr/dcamera_source_service_ipc.cpp +++ b/services/cameraservice/sourceservice/src/distributedcameramgr/dcamera_source_service_ipc.cpp @@ -46,7 +46,7 @@ void DCameraSourceServiceIpc::Init() DHLOGI("DCameraSourceServiceIpc has already init"); return; } - sinkRemoteRecipient_ = new SinkRemoteRecipient(); + sinkRemoteRecipient_ = sptr(new SinkRemoteRecipient()); isInit_ = true; DHLOGI("End"); } diff --git a/services/cameraservice/sourceservice/src/distributedcameramgr/dcameracontrol/dcamera_source_controller.cpp b/services/cameraservice/sourceservice/src/distributedcameramgr/dcameracontrol/dcamera_source_controller.cpp index 7f75d017..3c5ed9aa 100644 --- a/services/cameraservice/sourceservice/src/distributedcameramgr/dcameracontrol/dcamera_source_controller.cpp +++ b/services/cameraservice/sourceservice/src/distributedcameramgr/dcameracontrol/dcamera_source_controller.cpp @@ -48,7 +48,7 @@ DCameraSourceController::DCameraSourceController(std::string devId, std::string DHLOGI("DCameraSourceController create devId: %{public}s dhId: %{public}s", GetAnonyString(devId_).c_str(), GetAnonyString(dhId_).c_str()); isInit = false; - cameraHdiRecipient_ = new DCameraHdiRecipient(); + cameraHdiRecipient_ = sptr(new DCameraHdiRecipient()); } DCameraSourceController::~DCameraSourceController() diff --git a/services/cameraservice/sourceservice/test/unittest/common/distributedcameramgr/dcamera_stream_data_process_producer_test.cpp b/services/cameraservice/sourceservice/test/unittest/common/distributedcameramgr/dcamera_stream_data_process_producer_test.cpp index e577ecd0..f5308785 100644 --- a/services/cameraservice/sourceservice/test/unittest/common/distributedcameramgr/dcamera_stream_data_process_producer_test.cpp +++ b/services/cameraservice/sourceservice/test/unittest/common/distributedcameramgr/dcamera_stream_data_process_producer_test.cpp @@ -212,11 +212,11 @@ HWTEST_F(DCameraStreamDataProcessProducerTest, dcamera_stream_data_process_produ sharedMemory.bufferHandle_ = nullptr; int32_t ret = streamProcess1->CheckSharedMemory(sharedMemory, buffer); ret = streamProcess2->CheckSharedMemory(sharedMemory, buffer); - sharedMemory.bufferHandle_ = new NativeBuffer(); + sharedMemory.bufferHandle_ = sptr(new NativeBuffer()); ret = streamProcess1->CheckSharedMemory(sharedMemory, buffer); ret = streamProcess2->CheckSharedMemory(sharedMemory, buffer); BufferHandle *bufferHandle = new BufferHandle(); - sharedMemory.bufferHandle_ = new NativeBuffer(bufferHandle); + sharedMemory.bufferHandle_ = sptr(new NativeBuffer(bufferHandle)); ret = streamProcess1->CheckSharedMemory(sharedMemory, buffer); ret = streamProcess2->CheckSharedMemory(sharedMemory, buffer); DHBase dhBase; -- Gitee