From 6e7d0ee973906ac361c6d661a0b47a13d22efd48 Mon Sep 17 00:00:00 2001 From: LYQ_YES Date: Mon, 14 Apr 2025 16:32:40 +0800 Subject: [PATCH] fix codecheck error Signed-off-by: LYQ_YES Change-Id: Icd9f56674cae6a2429263f06a5673d8710190862 --- .../cj/ffi/src/notification_manager_impl.cpp | 3 +-- frameworks/cj/ffi/src/notification_utils.cpp | 19 +++++++++++++++---- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/frameworks/cj/ffi/src/notification_manager_impl.cpp b/frameworks/cj/ffi/src/notification_manager_impl.cpp index 52edf5d82..9628b2f03 100644 --- a/frameworks/cj/ffi/src/notification_manager_impl.cpp +++ b/frameworks/cj/ffi/src/notification_manager_impl.cpp @@ -205,11 +205,10 @@ namespace CJSystemapi { head = nullptr; break; } - if (!SetNotificationRequestV2(vec.GetRefPtr(), *(head[count]))) { + if (!SetNotificationRequestV2(vec.GetRefPtr(), *(head[count++]))) { LOGI("Set NotificationRequest object failed"); continue; } - count++; } notificationRequests.head = head; return notificationRequests; diff --git a/frameworks/cj/ffi/src/notification_utils.cpp b/frameworks/cj/ffi/src/notification_utils.cpp index 6da22c8ab..20bfc0fa1 100644 --- a/frameworks/cj/ffi/src/notification_utils.cpp +++ b/frameworks/cj/ffi/src/notification_utils.cpp @@ -34,6 +34,18 @@ namespace Notification { } return std::char_traits::copy(res, origin.c_str(), len); } + void freeCArrString(CArrString& arrStr) + { + if (arrStr.head == nullptr) { + return; + } + for (int64_t i = 0; i < arrStr.size; i++) { + free(arrStr.head[i]); + } + free(arrStr.head); + arrStr.head = nullptr; + arrStr.size = 0; + } bool GetNotificationSupportDisplayDevicesV2( CDistributedOptionsV2* distributedOption, @@ -1350,14 +1362,13 @@ namespace Notification { return false; } for (auto vec : iconsVec) { - if (!vec) { - continue; - } // buttonIcon auto native = FFIData::Create(vec); if (native == nullptr) { LOGE("Invalid object pixelMap of buttonIcons."); - return false; // memory free at cj + free(icons.head); + freeCArrString(cButton.names); + return false; } icons.head[iconCount++] = native->GetID(); } -- Gitee