diff --git a/adapter/khdf/liteos/osal/src/osal_firmware.c b/adapter/khdf/liteos/osal/src/osal_firmware.c index 457d445d40184dfb46b0c29c747b0ca495e97074..dd3c48c80bce2875574e24716f5e834cffa54aa6 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 7c0eee5d917cc8c9236476f264be8422563b3244..e300d186275717b51ee46bd3c121538fe232ea63 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 25c80b3c2c3aacd8673c5e33a620ff5c73770383..378d8a14683b2e7cc548c71475df16872ab39fdd 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 8c115c4eb917e39045f87e49c114f30793d30442..7cb72a92849e5017aec8605091d1ebf83e303592 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 26bb65d8cc0ef58ed68422204ca1ff9d941d86fc..522be0d65db4553b8b05b7ec14ffc925b0067906 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 5fcfd1f979013c51e6b3640d9aa5bdb2468cdc39..d39ad9e114f95a0d11ea2d9e44d1aa7d20bff334 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 97ede24078c590eccfae3d04abe76ec081ac6bd6..8f3df2639d9abac1ce9e300ee2b5ec0d43463ac5 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);