From c61aa37158a33bf41c2a9cdd42b6919fc10c9b8b Mon Sep 17 00:00:00 2001 From: vv Date: Wed, 31 Jul 2024 11:32:43 +0800 Subject: [PATCH 1/2] =?UTF-8?q?cJson=E6=95=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: vv --- services/cameraservice/base/src/dcamera_event_cmd.cpp | 7 ++++++- services/cameraservice/base/src/dcamera_info_cmd.cpp | 7 ++++++- services/cameraservice/base/src/dcamera_open_info_cmd.cpp | 7 ++++++- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/services/cameraservice/base/src/dcamera_event_cmd.cpp b/services/cameraservice/base/src/dcamera_event_cmd.cpp index 3a6805b0..4607edfa 100644 --- a/services/cameraservice/base/src/dcamera_event_cmd.cpp +++ b/services/cameraservice/base/src/dcamera_event_cmd.cpp @@ -32,10 +32,15 @@ int32_t DCameraEventCmd::Marshal(std::string& jsonStr) cJSON_AddStringToObject(rootValue, "Command", command_.c_str()); cJSON *event = cJSON_CreateObject(); - if (event == nullptr || value_ == nullptr) { + if (event == nullptr) { cJSON_Delete(rootValue); return DCAMERA_BAD_VALUE; } + if (value_ == nullptr) { + cJSON_Delete(rootValue); + cJSON_Delete(event); + return DCAMERA_BAD_VALUE; + } cJSON_AddNumberToObject(event, "EventType", value_->eventType_); cJSON_AddNumberToObject(event, "EventResult", value_->eventResult_); cJSON_AddStringToObject(event, "EventContent", value_->eventContent_.c_str()); diff --git a/services/cameraservice/base/src/dcamera_info_cmd.cpp b/services/cameraservice/base/src/dcamera_info_cmd.cpp index ef3408c6..f1743c2a 100644 --- a/services/cameraservice/base/src/dcamera_info_cmd.cpp +++ b/services/cameraservice/base/src/dcamera_info_cmd.cpp @@ -33,10 +33,15 @@ int32_t DCameraInfoCmd::Marshal(std::string& jsonStr) cJSON_AddStringToObject(rootValue, "Command", command_.c_str()); cJSON *info = cJSON_CreateObject(); - if (info == nullptr || value_ == nullptr) { + if (info == nullptr) { cJSON_Delete(rootValue); return DCAMERA_BAD_VALUE; } + if (value_ == nullptr) { + cJSON_Delete(rootValue); + cJSON_Delete(info); + return DCAMERA_BAD_VALUE; + } cJSON_AddNumberToObject(info, "State", value_->state_); cJSON_AddItemToObject(rootValue, "Value", info); diff --git a/services/cameraservice/base/src/dcamera_open_info_cmd.cpp b/services/cameraservice/base/src/dcamera_open_info_cmd.cpp index edd6629b..40430fb1 100644 --- a/services/cameraservice/base/src/dcamera_open_info_cmd.cpp +++ b/services/cameraservice/base/src/dcamera_open_info_cmd.cpp @@ -33,10 +33,15 @@ int32_t DCameraOpenInfoCmd::Marshal(std::string& jsonStr) cJSON_AddStringToObject(rootValue, "Command", command_.c_str()); cJSON *openInfo = cJSON_CreateObject(); - if (openInfo == nullptr || value_ == nullptr) { + if (openInfo == nullptr) { cJSON_Delete(rootValue); return DCAMERA_BAD_VALUE; } + if (value_ == nullptr) { + cJSON_Delete(rootValue); + cJSON_Delete(openInfo); + return DCAMERA_BAD_VALUE; + } cJSON_AddStringToObject(openInfo, "SourceDevId", value_->sourceDevId_.c_str()); cJSON_AddItemToObject(rootValue, "Value", openInfo); -- Gitee From 5c7772be6f1f1bccf6b7da1adaef0a37001136a4 Mon Sep 17 00:00:00 2001 From: vv Date: Wed, 31 Jul 2024 11:32:43 +0800 Subject: [PATCH 2/2] =?UTF-8?q?cJson=E6=95=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: vv --- .../cameraservice/base/src/dcamera_capture_info_cmd.cpp | 5 +++-- services/cameraservice/base/src/dcamera_event_cmd.cpp | 8 +++----- services/cameraservice/base/src/dcamera_info_cmd.cpp | 8 +++----- .../base/src/dcamera_metadata_setting_cmd.cpp | 6 +++++- services/cameraservice/base/src/dcamera_open_info_cmd.cpp | 8 +++----- 5 files changed, 17 insertions(+), 18 deletions(-) diff --git a/services/cameraservice/base/src/dcamera_capture_info_cmd.cpp b/services/cameraservice/base/src/dcamera_capture_info_cmd.cpp index 7b50b9ea..4524d99b 100644 --- a/services/cameraservice/base/src/dcamera_capture_info_cmd.cpp +++ b/services/cameraservice/base/src/dcamera_capture_info_cmd.cpp @@ -35,12 +35,13 @@ int32_t DCameraCaptureInfoCmd::Marshal(std::string& jsonStr) CHECK_NULL_FREE_RETURN(captureInfos, DCAMERA_BAD_VALUE, rootValue); cJSON_AddItemToObject(rootValue, "Value", captureInfos); for (auto iter = value_.begin(); iter != value_.end(); iter++) { - cJSON *captureInfo = cJSON_CreateObject(); std::shared_ptr capture = *iter; - if (captureInfo == nullptr || capture == nullptr) { + if (capture == nullptr) { cJSON_Delete(rootValue); return DCAMERA_BAD_VALUE; } + cJSON *captureInfo = cJSON_CreateObject(); + CHECK_NULL_FREE_RETURN(captureInfo, DCAMERA_BAD_VALUE, rootValue); cJSON_AddItemToArray(captureInfos, captureInfo); cJSON_AddNumberToObject(captureInfo, "Width", capture->width_); cJSON_AddNumberToObject(captureInfo, "Height", capture->height_); diff --git a/services/cameraservice/base/src/dcamera_event_cmd.cpp b/services/cameraservice/base/src/dcamera_event_cmd.cpp index 4607edfa..ce25bf3b 100644 --- a/services/cameraservice/base/src/dcamera_event_cmd.cpp +++ b/services/cameraservice/base/src/dcamera_event_cmd.cpp @@ -23,6 +23,9 @@ namespace OHOS { namespace DistributedHardware { int32_t DCameraEventCmd::Marshal(std::string& jsonStr) { + if (value_ == nullptr) { + return DCAMERA_BAD_VALUE; + } cJSON *rootValue = cJSON_CreateObject(); if (rootValue == nullptr) { return DCAMERA_BAD_VALUE; @@ -36,11 +39,6 @@ int32_t DCameraEventCmd::Marshal(std::string& jsonStr) cJSON_Delete(rootValue); return DCAMERA_BAD_VALUE; } - if (value_ == nullptr) { - cJSON_Delete(rootValue); - cJSON_Delete(event); - return DCAMERA_BAD_VALUE; - } cJSON_AddNumberToObject(event, "EventType", value_->eventType_); cJSON_AddNumberToObject(event, "EventResult", value_->eventResult_); cJSON_AddStringToObject(event, "EventContent", value_->eventContent_.c_str()); diff --git a/services/cameraservice/base/src/dcamera_info_cmd.cpp b/services/cameraservice/base/src/dcamera_info_cmd.cpp index f1743c2a..5732ec5f 100644 --- a/services/cameraservice/base/src/dcamera_info_cmd.cpp +++ b/services/cameraservice/base/src/dcamera_info_cmd.cpp @@ -24,6 +24,9 @@ namespace OHOS { namespace DistributedHardware { int32_t DCameraInfoCmd::Marshal(std::string& jsonStr) { + if (value_ == nullptr) { + return DCAMERA_BAD_VALUE; + } cJSON *rootValue = cJSON_CreateObject(); if (rootValue == nullptr) { return DCAMERA_BAD_VALUE; @@ -37,11 +40,6 @@ int32_t DCameraInfoCmd::Marshal(std::string& jsonStr) cJSON_Delete(rootValue); return DCAMERA_BAD_VALUE; } - if (value_ == nullptr) { - cJSON_Delete(rootValue); - cJSON_Delete(info); - return DCAMERA_BAD_VALUE; - } cJSON_AddNumberToObject(info, "State", value_->state_); cJSON_AddItemToObject(rootValue, "Value", info); diff --git a/services/cameraservice/base/src/dcamera_metadata_setting_cmd.cpp b/services/cameraservice/base/src/dcamera_metadata_setting_cmd.cpp index 549e9a15..468cbf2a 100644 --- a/services/cameraservice/base/src/dcamera_metadata_setting_cmd.cpp +++ b/services/cameraservice/base/src/dcamera_metadata_setting_cmd.cpp @@ -39,8 +39,12 @@ int32_t DCameraMetadataSettingCmd::Marshal(std::string& jsonStr) } cJSON_AddItemToObject(rootValue, "Value", settings); for (auto iter = value_.begin(); iter != value_.end(); iter++) { + if ((*iter) == nullptr) { + cJSON_Delete(rootValue); + return DCAMERA_BAD_VALUE; + } cJSON *setting = cJSON_CreateObject(); - if (setting == nullptr || (*iter) == nullptr) { + if (setting == nullptr) { cJSON_Delete(rootValue); return DCAMERA_BAD_VALUE; } diff --git a/services/cameraservice/base/src/dcamera_open_info_cmd.cpp b/services/cameraservice/base/src/dcamera_open_info_cmd.cpp index 40430fb1..92ce18a9 100644 --- a/services/cameraservice/base/src/dcamera_open_info_cmd.cpp +++ b/services/cameraservice/base/src/dcamera_open_info_cmd.cpp @@ -24,6 +24,9 @@ namespace OHOS { namespace DistributedHardware { int32_t DCameraOpenInfoCmd::Marshal(std::string& jsonStr) { + if (value_ == nullptr) { + return DCAMERA_BAD_VALUE; + } cJSON *rootValue = cJSON_CreateObject(); if (rootValue == nullptr) { return DCAMERA_BAD_VALUE; @@ -37,11 +40,6 @@ int32_t DCameraOpenInfoCmd::Marshal(std::string& jsonStr) cJSON_Delete(rootValue); return DCAMERA_BAD_VALUE; } - if (value_ == nullptr) { - cJSON_Delete(rootValue); - cJSON_Delete(openInfo); - return DCAMERA_BAD_VALUE; - } cJSON_AddStringToObject(openInfo, "SourceDevId", value_->sourceDevId_.c_str()); cJSON_AddItemToObject(rootValue, "Value", openInfo); -- Gitee