From 2950ab3af77b3a34ec07ec6d24a32fd4a14ae276 Mon Sep 17 00:00:00 2001 From: huyx Date: Mon, 2 Sep 2024 15:21:06 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=8E=92=E9=9B=B7-memset?= =?UTF-8?q?=E5=AE=89=E5=85=A8=E5=87=BD=E6=95=B0=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: huyx --- .../test/unittest/common/hdf_remote_adapter_test.cpp | 1 + framework/support/platform/src/hdmi/hdmi_hdr.c | 4 ++++ framework/support/platform/src/hdmi/hdmi_infoframe.c | 8 ++++++++ framework/tools/hdi-gen/util/string_builder.cpp | 1 - 4 files changed, 13 insertions(+), 1 deletion(-) diff --git a/framework/core/manager/test/unittest/common/hdf_remote_adapter_test.cpp b/framework/core/manager/test/unittest/common/hdf_remote_adapter_test.cpp index 8fa4436c5..e785fe6ed 100644 --- a/framework/core/manager/test/unittest/common/hdf_remote_adapter_test.cpp +++ b/framework/core/manager/test/unittest/common/hdf_remote_adapter_test.cpp @@ -115,6 +115,7 @@ HWTEST_F(HdfRemoteAdapterTest, HdfRemoteAdapterTest004, TestSize.Level1) #ifdef WITH_SELINUX char *callingSid = HdfRemoteGetCallingSid(); ASSERT_TRUE(callingSid != nullptr); + delete callingSid; #endif } diff --git a/framework/support/platform/src/hdmi/hdmi_hdr.c b/framework/support/platform/src/hdmi/hdmi_hdr.c index 291157b98..616e0858d 100644 --- a/framework/support/platform/src/hdmi/hdmi_hdr.c +++ b/framework/support/platform/src/hdmi/hdmi_hdr.c @@ -36,6 +36,10 @@ static void HdmiHdrZeroDrmInfoFrameTimerSet(struct HdmiCntlr *cntlr, bool start) { struct HdmiHdrInfo *hdrInfo = &(cntlr->hdr->info); struct HdmiHdrAttr *hdrAttr = &(cntlr->attr.hdrAttr); + if (hdrInfo == NULL || hdrAttr == NULL) { + HDF_LOGE("invalid params"); + return; + } hdrInfo->zeroDrmIfTimer.start = false; hdrInfo->zeroDrmIfTimer.timerType = HDMI_HDR_TIMER_ZERO_DRMIF; diff --git a/framework/support/platform/src/hdmi/hdmi_infoframe.c b/framework/support/platform/src/hdmi/hdmi_infoframe.c index 351e2452d..ed73a5d4d 100644 --- a/framework/support/platform/src/hdmi/hdmi_infoframe.c +++ b/framework/support/platform/src/hdmi/hdmi_infoframe.c @@ -469,6 +469,10 @@ static void HdmiFillAviInfoFrame(struct HdmiAviInfoFrame *avi, struct HdmiVideoAttr *videoAttr, struct HdmiHdrAttr *hdrAttr, struct HdmiCommonAttr *commAttr) { bool enable3d = true; + if (avi == NULL) { + HDF_LOGE("invalid param: avi."); + return; + } if (memset_s(avi, sizeof(struct HdmiAviInfoFrame), 0, sizeof(struct HdmiAviInfoFrame)) != EOK) { HDF_LOGE("fill vsif, memset_s fail."); @@ -522,6 +526,10 @@ int32_t HdmiAviInfoFrameSend(struct HdmiInfoFrame *frame, bool enable) static void HdmiFillAudioInfoFrame(struct HdmiAudioInfoFrame *audio, const struct HdmiAudioAttr *audioAttr) { + if (audio == NULL) { + HDF_LOGE("invalid param: audio."); + return; + } if (memset_s(audio, sizeof(struct HdmiAudioInfoFrame), 0, sizeof(struct HdmiAudioInfoFrame)) != EOK) { HDF_LOGE("fill vsif, memset_s fail."); return; diff --git a/framework/tools/hdi-gen/util/string_builder.cpp b/framework/tools/hdi-gen/util/string_builder.cpp index fdabf36f3..ab3cb557e 100644 --- a/framework/tools/hdi-gen/util/string_builder.cpp +++ b/framework/tools/hdi-gen/util/string_builder.cpp @@ -152,7 +152,6 @@ bool StringBuilder::Grow(size_t size) int ret = memcpy_s(newBuffer, newSize, buffer_, capacity_); if (ret != 0) { Logger::E(TAG, "memcpy_s error ret = %d!", ret); - free(buffer_); free(newBuffer); return false; } -- Gitee From 3131f7ef181618a1c843171b28c5e16521cd1f8a Mon Sep 17 00:00:00 2001 From: huyx Date: Mon, 2 Sep 2024 16:46:05 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=8E=92=E9=9B=B7-memset?= =?UTF-8?q?=E5=AE=89=E5=85=A8=E5=87=BD=E6=95=B0=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: huyx --- framework/support/platform/src/hdmi/hdmi_infoframe.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/framework/support/platform/src/hdmi/hdmi_infoframe.c b/framework/support/platform/src/hdmi/hdmi_infoframe.c index ed73a5d4d..c724e53d7 100644 --- a/framework/support/platform/src/hdmi/hdmi_infoframe.c +++ b/framework/support/platform/src/hdmi/hdmi_infoframe.c @@ -471,7 +471,7 @@ static void HdmiFillAviInfoFrame(struct HdmiAviInfoFrame *avi, bool enable3d = true; if (avi == NULL) { HDF_LOGE("invalid param: avi."); - return; + return; } if (memset_s(avi, sizeof(struct HdmiAviInfoFrame), 0, sizeof(struct HdmiAviInfoFrame)) != EOK) { @@ -528,7 +528,7 @@ static void HdmiFillAudioInfoFrame(struct HdmiAudioInfoFrame *audio, const struc { if (audio == NULL) { HDF_LOGE("invalid param: audio."); - return; + return; } if (memset_s(audio, sizeof(struct HdmiAudioInfoFrame), 0, sizeof(struct HdmiAudioInfoFrame)) != EOK) { HDF_LOGE("fill vsif, memset_s fail."); -- Gitee From 9d6e6c2bb7c57a8cefd63c4a82d02663d72b8eb7 Mon Sep 17 00:00:00 2001 From: huyx Date: Tue, 3 Sep 2024 20:21:59 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E5=9F=BA=E7=A1=80=E7=BC=96=E7=A0=81?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: huyx --- adapter/khdf/linux/manager/src/devmgr_pm_reg.c | 5 ++++- adapter/khdf/linux/model/camera/src/contig_dma.c | 4 ++++ adapter/khdf/linux/model/camera/src/sg_dma.c | 4 ++++ adapter/platform/gpio/gpio_asr.c | 4 ++++ framework/core/manager/src/devmgr_service.c | 4 ++++ 5 files changed, 20 insertions(+), 1 deletion(-) diff --git a/adapter/khdf/linux/manager/src/devmgr_pm_reg.c b/adapter/khdf/linux/manager/src/devmgr_pm_reg.c index 8dceb409b..a8a67a1d0 100644 --- a/adapter/khdf/linux/manager/src/devmgr_pm_reg.c +++ b/adapter/khdf/linux/manager/src/devmgr_pm_reg.c @@ -35,7 +35,10 @@ static int DevmgrPmSuspend(void) if (devmgrService->PowerStateChange(devmgrService, POWER_STATE_SUSPEND) != HDF_SUCCESS) { HDF_LOGE("%s drivers suspend failed", __func__); - devmgrService->PowerStateChange(devmgrService, POWER_STATE_RESUME); + int ret = devmgrService->PowerStateChange(devmgrService, POWER_STATE_RESUME); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s drivers resume failed", __func__); + } return HDF_FAILURE; } diff --git a/adapter/khdf/linux/model/camera/src/contig_dma.c b/adapter/khdf/linux/model/camera/src/contig_dma.c index 78d06757c..dd142053d 100644 --- a/adapter/khdf/linux/model/camera/src/contig_dma.c +++ b/adapter/khdf/linux/model/camera/src/contig_dma.c @@ -38,6 +38,10 @@ static unsigned long GetContiguousSize(struct sg_table *sgt) dma_addr_t expected = sg_dma_address(sgt->sgl); uint32_t i; unsigned long size = 0; + if (sgt == NULL) { + HDF_LOGE("sgt is NULL!"); + return size; + } for_each_sgtable_dma_sg(sgt, slist, i) { if (sg_dma_address(slist) != expected) { diff --git a/adapter/khdf/linux/model/camera/src/sg_dma.c b/adapter/khdf/linux/model/camera/src/sg_dma.c index 6bb8aa476..942eb6667 100644 --- a/adapter/khdf/linux/model/camera/src/sg_dma.c +++ b/adapter/khdf/linux/model/camera/src/sg_dma.c @@ -89,6 +89,10 @@ static int32_t SgAllocCompacted(struct SgDmaBuffer *buf, gfp_t gfpFlags) for (i = 0; i < (1 << order); i++) { buf->pages[lastPage++] = &pages[i]; } + if (size < PAGE_SIZE << order) { + HDF_LOGE("%s: size invalid", __func__); + return -EINVAL; + } size -= PAGE_SIZE << order; } diff --git a/adapter/platform/gpio/gpio_asr.c b/adapter/platform/gpio/gpio_asr.c index a18eb0843..195ffe822 100644 --- a/adapter/platform/gpio/gpio_asr.c +++ b/adapter/platform/gpio/gpio_asr.c @@ -79,6 +79,10 @@ static void OemGpioIrqHdl(uint16_t *arg) { asr_gpio_dev_t *dev = NULL; uint16_t gpio = (uint16_t)arg; + if (gpio > ASR_GPIO_TOTAL_NUM) { + HDF_LOGE("invalid gpio"); + return; + } dev = &g_gpioPinMap[gpio]; if ((uint16_t)dev->port >= ASR_GPIO_TOTAL_NUM) { diff --git a/framework/core/manager/src/devmgr_service.c b/framework/core/manager/src/devmgr_service.c index 0ca8e609a..ad72ae34e 100644 --- a/framework/core/manager/src/devmgr_service.c +++ b/framework/core/manager/src/devmgr_service.c @@ -31,6 +31,10 @@ static bool DevmgrServiceDynamicDevInfoFound( if (devMgrSvc == NULL) { return false; } + if (targetHostClnt == NULL || targetDeviceInfo == NULL) { + HDF_LOGE("invalid params"); + return false; + } DLIST_FOR_EACH_ENTRY(hostClnt, &devMgrSvc->hosts, struct DevHostServiceClnt, node) { HdfSListIteratorInit(&itDeviceInfo, &hostClnt->dynamicDevInfos); -- Gitee From 6570bf3c2eeb0962655b971e171847de94291ce4 Mon Sep 17 00:00:00 2001 From: huyx Date: Tue, 3 Sep 2024 20:31:52 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E5=9F=BA=E7=A1=80=E7=BC=96=E7=A0=81?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: huyx --- adapter/khdf/linux/model/camera/src/sg_dma.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/adapter/khdf/linux/model/camera/src/sg_dma.c b/adapter/khdf/linux/model/camera/src/sg_dma.c index 942eb6667..80303e872 100644 --- a/adapter/khdf/linux/model/camera/src/sg_dma.c +++ b/adapter/khdf/linux/model/camera/src/sg_dma.c @@ -89,7 +89,7 @@ static int32_t SgAllocCompacted(struct SgDmaBuffer *buf, gfp_t gfpFlags) for (i = 0; i < (1 << order); i++) { buf->pages[lastPage++] = &pages[i]; } - if (size < PAGE_SIZE << order) { + if (size < (PAGE_SIZE << order)) { HDF_LOGE("%s: size invalid", __func__); return -EINVAL; } -- Gitee