From 5f806937c6ffdc9bd1c80a2f397e52dc8ce55b7b Mon Sep 17 00:00:00 2001 From: fengj130406 Date: Mon, 10 Feb 2025 20:23:51 +0800 Subject: [PATCH] =?UTF-8?q?=E5=91=8A=E8=AD=A6=E6=B8=85=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: fengj130406 --- interfaces/innerkits/src/bundle_active_module_record.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/interfaces/innerkits/src/bundle_active_module_record.cpp b/interfaces/innerkits/src/bundle_active_module_record.cpp index 1884f85..1a039e6 100644 --- a/interfaces/innerkits/src/bundle_active_module_record.cpp +++ b/interfaces/innerkits/src/bundle_active_module_record.cpp @@ -100,6 +100,9 @@ bool BundleActiveModuleRecord::Marshalling(Parcel &parcel) const BundleActiveModuleRecord *BundleActiveModuleRecord::Unmarshalling(Parcel &parcel) { BundleActiveModuleRecord *result = new (std::nothrow) BundleActiveModuleRecord(); + if (result == nullptr) { + return nullptr; + } result->deviceId_ = parcel.ReadString(); result->bundleName_ = parcel.ReadString(); result->moduleName_ = parcel.ReadString(); @@ -117,6 +120,9 @@ BundleActiveModuleRecord *BundleActiveModuleRecord::Unmarshalling(Parcel &parcel return nullptr; } BundleActiveFormRecord *tmp = new (std::nothrow) BundleActiveFormRecord; + if (tmp == nullptr) { + return result; + } for (uint32_t i = 0; i < size; i++) { tmp = tmp->Unmarshalling(parcel); if (!tmp) { @@ -124,6 +130,7 @@ BundleActiveModuleRecord *BundleActiveModuleRecord::Unmarshalling(Parcel &parcel } result->formRecords_.emplace_back(*tmp); } + delete tmp; return result; } -- Gitee