!15 Relase handle when dlerror return non-nullptr

From: @bugflyfly 
Reviewed-by: @tian2020 
Signed-off-by: @
This commit is contained in:
openeuler-ci-bot 2024-06-07 07:58:28 +00:00 committed by Gitee
commit 1df0823dbb
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
2 changed files with 30 additions and 1 deletions

View File

@ -0,0 +1,25 @@
From 4c6bb127d9b70a31625d3aa58ecea9efea813465 Mon Sep 17 00:00:00 2001
From: Wei Jiangang <wei_jiangang@hoperun.com>
Date: Wed, 29 May 2024 10:53:07 +0800
Subject: [PATCH] release handle when dlerror returns non-nullptr
Signed-off-by: Wei Jiangang <wei_jiangang@hoperun.com>
---
services/service/src/device_manager_service.cpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/services/service/src/device_manager_service.cpp b/services/service/src/device_manager_service.cpp
index f167f719..b07b8574 100755
--- a/services/service/src/device_manager_service.cpp
+++ b/services/service/src/device_manager_service.cpp
@@ -407,6 +407,7 @@ bool DeviceManagerService::IsDMServiceImplReady()
dlerror();
auto func = (CreateDMServiceFuncPtr)dlsym(so_handle, "CreateDMServiceObject");
if (dlerror() != nullptr || func == nullptr) {
+ dlclose(so_handle);
LOGE("Create object function is not exist.");
return false;
}
--
2.39.1

View File

@ -8,7 +8,7 @@
Name: distributedhardware_device_manager
Version: 1.0.0
Release: 5
Release: 6
Summary: Distributed middleware used components.
License: Apache-2.0
Url: https://gitee.com/openharmony/
@ -22,6 +22,7 @@ Patch1: 0001-remove-dependency-and-adapt-for-build-device_manager.patch
Patch2: 0002-device-manager-only-support-for-network.patch
Patch3: 0003-Fix-crash-for-nullptr-in-EstablishAuthChannel.patch
Patch4: 0004-Add-placeholder-for-the-string-of-params.patch
Patch5: 0005-release-handle-when-dlerror-returns-non-nullptr.patch
BuildRequires: gcc, make, hilog, kernel-devel, uname-build-checks
BuildRequires: distributed-build, distributed-beget
@ -58,6 +59,7 @@ cp -rf %{_builddir}/build/openeuler/compiler_gn/* %{_builddir}
%patch -P2 -p1 -d %{distributedhardware_dir}/device_manager
%patch -P3 -p1 -d %{distributedhardware_dir}/device_manager
%patch -P4 -p1 -d %{distributedhardware_dir}/device_manager
%patch -P5 -p1 -d %{distributedhardware_dir}/device_manager
%setup -q -D -T -a 2 -c -n %{third_party_dir}/
@ -120,6 +122,8 @@ ln -s /usr/include/device_manager %{buildroot}%{build_opt}/openeuler/compiler_gn
/system/*
%changelog
* Wed May 29 2024 wei_jiangang <wei_jiangang@hoperun.com> - 1.0.0-6
- release handle when dlerror returns non-nullptr
* Mon Apr 1 2024 wei_jiangang <wei_jiangang@hoperun.com> - 1.0.0-5
- Add placeholder for the string of params
* Wed Mar 27 2024 wei_jiangang <wei_jiangang@hoperun.com> - 1.0.0-4