From 5f6aa034524693e49db7abed6fedd07706c01011 Mon Sep 17 00:00:00 2001 From: wangyikai Date: Thu, 21 Nov 2024 14:38:57 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90hdf=5Fcore=E3=80=91=E8=A7=A3=E5=86=B3h?= =?UTF-8?q?df=5Fdevmgr=E5=86=85=E5=AD=98=E6=B3=84=E9=9C=B2=E9=97=AE?= =?UTF-8?q?=E9=A2=98=EF=BC=8C=E6=8C=89=E7=BC=96=E7=A0=81=E8=A7=84=E8=8C=83?= =?UTF-8?q?=E5=A4=84=E7=90=86close=E5=90=8E=E7=9A=84fd(=E4=B8=8D=E5=90=AB?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E7=94=A8=E4=BE=8B)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wangyikai --- adapter/khdf/liteos/osal/src/osal_firmware.c | 3 +++ adapter/uhdf2/host/src/devhost_dump.c | 2 ++ adapter/uhdf2/manager/src/devmgr_dump.c | 3 +++ adapter/uhdf2/manager/src/devmgr_service_stub.c | 1 + adapter/uhdf2/manager/src/devmgr_uevent.c | 4 ++++ adapter/uhdf2/manager/src/devsvc_manager_stub.c | 2 -- interfaces/inner_api/hdi/base/hdi_smq_meta.h | 5 +++++ 7 files changed, 18 insertions(+), 2 deletions(-) diff --git a/adapter/khdf/liteos/osal/src/osal_firmware.c b/adapter/khdf/liteos/osal/src/osal_firmware.c index 457d445d4..dd3c48c80 100644 --- a/adapter/khdf/liteos/osal/src/osal_firmware.c +++ b/adapter/khdf/liteos/osal/src/osal_firmware.c @@ -77,6 +77,7 @@ int32_t OsalRequestFirmware(struct OsalFirmware *fwPara, const char *fwName, voi if (fstat(fd, &fwStat) == -1) { HDF_LOGE("%s fstat file fail %d", __func__, errno); close(fd); + fd = -1; return HDF_FAILURE; } @@ -84,6 +85,7 @@ int32_t OsalRequestFirmware(struct OsalFirmware *fwPara, const char *fwName, voi if (base == NULL) { HDF_LOGE("%s malloc fail", __func__); close(fd); + fd = -1; return HDF_ERR_MALLOC_FAIL; } @@ -187,6 +189,7 @@ int32_t OsalReleaseFirmware(struct OsalFirmware *fwPara) HDF_LOGE("%s close fail %d", __func__, errno); return HDF_FAILURE; } + fw->fd = -1; OsalMemFree(fwPara->para); fwPara->para = NULL; diff --git a/adapter/uhdf2/host/src/devhost_dump.c b/adapter/uhdf2/host/src/devhost_dump.c index 7c0eee5d9..e300d1862 100644 --- a/adapter/uhdf2/host/src/devhost_dump.c +++ b/adapter/uhdf2/host/src/devhost_dump.c @@ -134,11 +134,13 @@ static void DevHostDumpIpc(struct HdfSBuf *data) if (dumpCmd == NULL) { HDF_LOGE("ipc dumpCmd is NULL"); close(fd); + fd = -1; return; } HdfDumpIpcStat(fd, dumpCmd); close(fd); + fd = -1; return; } diff --git a/adapter/uhdf2/manager/src/devmgr_dump.c b/adapter/uhdf2/manager/src/devmgr_dump.c index 25c80b3c2..378d8a146 100644 --- a/adapter/uhdf2/manager/src/devmgr_dump.c +++ b/adapter/uhdf2/manager/src/devmgr_dump.c @@ -614,6 +614,7 @@ static int32_t DevMgrDump(struct HdfSBuf *data, struct HdfSBuf *reply) if (argv == 0) { (void)HdfSbufWriteString(reply, HELP_COMMENT); close(fd); + fd = -1; return HDF_SUCCESS; } @@ -621,6 +622,7 @@ static int32_t DevMgrDump(struct HdfSBuf *data, struct HdfSBuf *reply) if (value == NULL) { HDF_LOGE("%{public}s arg is invalid", __func__); close(fd); + fd = -1; return HDF_FAILURE; } @@ -647,6 +649,7 @@ static int32_t DevMgrDump(struct HdfSBuf *data, struct HdfSBuf *reply) } } close(fd); + fd = -1; return ret; } diff --git a/adapter/uhdf2/manager/src/devmgr_service_stub.c b/adapter/uhdf2/manager/src/devmgr_service_stub.c index 8c115c4eb..7cb72a928 100644 --- a/adapter/uhdf2/manager/src/devmgr_service_stub.c +++ b/adapter/uhdf2/manager/src/devmgr_service_stub.c @@ -224,6 +224,7 @@ static int32_t InstallModule(const char *module) } close(fd); + fd = -1; return ret; } diff --git a/adapter/uhdf2/manager/src/devmgr_uevent.c b/adapter/uhdf2/manager/src/devmgr_uevent.c index 26bb65d8c..522be0d65 100644 --- a/adapter/uhdf2/manager/src/devmgr_uevent.c +++ b/adapter/uhdf2/manager/src/devmgr_uevent.c @@ -367,6 +367,7 @@ static int32_t DevMgrUeventSocketInit(void) if (setsockopt(sockfd, SOL_SOCKET, SO_RCVBUF, &buffSize, sizeof(buffSize)) != 0) { HDF_LOGE("setsockopt: SO_RCVBUF failed err = %{public}d", errno); close(sockfd); + sockfd = -1; return HDF_FAILURE; } @@ -374,12 +375,14 @@ static int32_t DevMgrUeventSocketInit(void) if (setsockopt(sockfd, SOL_SOCKET, SO_PASSCRED, &on, sizeof(on)) != 0) { HDF_LOGE("setsockopt: SO_PASSCRED failed, err = %{public}d", errno); close(sockfd); + 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); + sockfd = -1; return HDF_FAILURE; } @@ -566,6 +569,7 @@ static int32_t DevMgrUeventThread(void *arg) DevMgrUeventReleaseRuleCfgList(); close(sfd); + sfd = -1; return HDF_SUCCESS; } diff --git a/adapter/uhdf2/manager/src/devsvc_manager_stub.c b/adapter/uhdf2/manager/src/devsvc_manager_stub.c index 5fcfd1f97..d39ad9e11 100644 --- a/adapter/uhdf2/manager/src/devsvc_manager_stub.c +++ b/adapter/uhdf2/manager/src/devsvc_manager_stub.c @@ -548,8 +548,6 @@ int DevSvcManagerStubDispatch(struct HdfRemoteService *service, int code, struct code, HdfRemoteGetCallingPid()); HDF_LOGD("DevSvcManagerStubDispatch called: code=%{public}d, calling uid=%{public}d", code, HdfRemoteGetCallingUid()); - HDF_LOGD("DevSvcManagerStubDispatch called: code=%{public}d, calling sid=%{public}s", - code, HdfRemoteGetCallingSid()); switch (code) { case DEVSVC_MANAGER_ADD_SERVICE: ret = DevSvcManagerStubAddService(super, data); diff --git a/interfaces/inner_api/hdi/base/hdi_smq_meta.h b/interfaces/inner_api/hdi/base/hdi_smq_meta.h index 97ede2407..8f3df2639 100644 --- a/interfaces/inner_api/hdi/base/hdi_smq_meta.h +++ b/interfaces/inner_api/hdi/base/hdi_smq_meta.h @@ -240,6 +240,7 @@ SharedMemQueueMeta &SharedMemQueueMeta::operator=(const SharedMemQueueMeta if (this != &other) { if (ashmemFd_ >= 0) { close(ashmemFd_); + ashmemFd_ = -1; } ashmemFd_ = dup(other.ashmemFd_); size_ = other.size_; @@ -301,6 +302,7 @@ SharedMemQueueMeta::~SharedMemQueueMeta() { if (ashmemFd_ >= 0) { close(ashmemFd_); + ashmemFd_ = -1; } ashmemFd_ = -1; } @@ -315,6 +317,7 @@ void SharedMemQueueMeta::SetFd(int fd) { if (ashmemFd_ >= 0) { close(ashmemFd_); + ashmemFd_ = -1; } ashmemFd_ = fd; } @@ -436,6 +439,7 @@ std::shared_ptr> SharedMemQueueMeta::UnMarshalling(Mess if (!parcel.ReadUint64(readElementCount)) { HDF_LOGE("read invalid elementCount of smq"); close(fd); + fd = -1; return nullptr; } size_t elementCount = static_cast(readElementCount); @@ -444,6 +448,7 @@ std::shared_ptr> SharedMemQueueMeta::UnMarshalling(Mess if (!parcel.ReadUint32(typecode)) { HDF_LOGE("read invalid typecode of smq"); close(fd); + fd = -1; return nullptr; } SmqType type = static_cast(typecode); -- Gitee