Relase handle when dlerror return non-nullptr

Signed-off-by: Wei Jiangang <wei_jiangang@hoperun.com>
This commit is contained in:
Wei Jiangang 2024-05-29 11:00:16 +08:00
parent 4edfb27151
commit 5e51654d36
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