From a9e386d6d5be856e4797bf96116add037599d368 Mon Sep 17 00:00:00 2001 From: xiongchangwu Date: Mon, 31 Mar 2025 22:52:37 +0800 Subject: [PATCH 1/3] fopen Signed-off-by: xiongchangwu --- adapter/uhdf2/security/src/hdf_security.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/adapter/uhdf2/security/src/hdf_security.c b/adapter/uhdf2/security/src/hdf_security.c index 218d62d2d..dca557951 100644 --- a/adapter/uhdf2/security/src/hdf_security.c +++ b/adapter/uhdf2/security/src/hdf_security.c @@ -156,11 +156,17 @@ static int32_t HdfUpdateSecurityId(const char *id, uint64_t perms, int32_t isSet HDF_LOGE("file %{public}s is invalid", HDF_SECURE_PATH); return HDF_FAILURE; } - int32_t fd = open(path, O_WRONLY); - if (fd < 0) { + FILE *fp = fopen(path, "w"); + if (fp == NULL) { HDF_LOGE("open %{public}s failed, errno is %{public}d", HDF_SECURE_PATH, errno); return HDF_FAILURE; } + int32_t fd = fileno(file); + if (fd < 0) { + HDF_LOGE("fileno %{public}s failed, errno is %{public}d", HDF_SECURE_PATH, errno); + fclose(file); + return HDF_FAILURE; + } if (isSetCurrentSecId == 0) { ret = ioctl(fd, HDF_SECURE_SET_INFO, &secInfo); @@ -170,7 +176,7 @@ static int32_t HdfUpdateSecurityId(const char *id, uint64_t perms, int32_t isSet ret = ioctl(fd, HDF_SECURE_DELETE_INFO, &secInfo); } - close(fd); + fclose(file); fd = -1; if (ret != 0) { HDF_LOGE("%{public}s ioctl error, ret is %{public}d", __FUNCTION__, ret); -- Gitee From 61834b8766f05c992e116d985924a5cf4fab8ffe Mon Sep 17 00:00:00 2001 From: xiongchangwu Date: Tue, 1 Apr 2025 17:48:17 +0800 Subject: [PATCH 2/3] fclose Signed-off-by: xiongchangwu --- adapter/uhdf2/manager/src/devmgr_uevent.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/adapter/uhdf2/manager/src/devmgr_uevent.c b/adapter/uhdf2/manager/src/devmgr_uevent.c index 522be0d65..b1a99be09 100644 --- a/adapter/uhdf2/manager/src/devmgr_uevent.c +++ b/adapter/uhdf2/manager/src/devmgr_uevent.c @@ -362,11 +362,12 @@ static int32_t DevMgrUeventSocketInit(void) HDF_LOGE("create socket failed, err = %{public}d", errno); return HDF_FAILURE; } + fdsan_exchange_owner_tag(sockfd, 0, LOG_DOMAIN); int32_t buffSize = UEVENT_SOCKET_BUFF_SIZE; if (setsockopt(sockfd, SOL_SOCKET, SO_RCVBUF, &buffSize, sizeof(buffSize)) != 0) { HDF_LOGE("setsockopt: SO_RCVBUF failed err = %{public}d", errno); - close(sockfd); + fdsan_close_with_tag(sockfd, LOG_DOMAIN); sockfd = -1; return HDF_FAILURE; } @@ -374,14 +375,14 @@ static int32_t DevMgrUeventSocketInit(void) const int32_t on = 1; if (setsockopt(sockfd, SOL_SOCKET, SO_PASSCRED, &on, sizeof(on)) != 0) { HDF_LOGE("setsockopt: SO_PASSCRED failed, err = %{public}d", errno); - close(sockfd); + fdsan_close_with_tag(sockfd, LOG_DOMAIN); sockfd = -1; return HDF_FAILURE; } if (bind(sockfd, (struct sockaddr *)&addr, sizeof(addr)) < 0) { HDF_LOGE("bind socket failed, err = %{public}d", errno); - close(sockfd); + fdsan_close_with_tag(sockfd, LOG_DOMAIN); sockfd = -1; return HDF_FAILURE; } @@ -568,7 +569,7 @@ static int32_t DevMgrUeventThread(void *arg) } DevMgrUeventReleaseRuleCfgList(); - close(sfd); + fdsan_close_with_tag(sfd, LOG_DOMAIN); sfd = -1; return HDF_SUCCESS; } -- Gitee From 3d4fca234d4e822d56a985e05a8e20858a01af05 Mon Sep 17 00:00:00 2001 From: xiongchangwu Date: Tue, 1 Apr 2025 21:21:20 +0800 Subject: [PATCH 3/3] fclose Signed-off-by: xiongchangwu --- adapter/uhdf2/security/src/hdf_security.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/adapter/uhdf2/security/src/hdf_security.c b/adapter/uhdf2/security/src/hdf_security.c index dca557951..32bfa2aac 100644 --- a/adapter/uhdf2/security/src/hdf_security.c +++ b/adapter/uhdf2/security/src/hdf_security.c @@ -164,7 +164,7 @@ static int32_t HdfUpdateSecurityId(const char *id, uint64_t perms, int32_t isSet int32_t fd = fileno(file); if (fd < 0) { HDF_LOGE("fileno %{public}s failed, errno is %{public}d", HDF_SECURE_PATH, errno); - fclose(file); + (void)fclose(file); return HDF_FAILURE; } @@ -176,7 +176,7 @@ static int32_t HdfUpdateSecurityId(const char *id, uint64_t perms, int32_t isSet ret = ioctl(fd, HDF_SECURE_DELETE_INFO, &secInfo); } - fclose(file); + (void)fclose(file); fd = -1; if (ret != 0) { HDF_LOGE("%{public}s ioctl error, ret is %{public}d", __FUNCTION__, ret); -- Gitee