From 1035c56fc6c62a8a7ca68a3ab01fb8cdaaf7b8ed Mon Sep 17 00:00:00 2001 From: cat Date: Mon, 24 Jul 2023 07:55:11 +0000 Subject: [PATCH 1/5] =?UTF-8?q?Description:=E4=BB=A3=E7=A0=81review?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E4=BF=AE=E6=94=B9=20Feature=20or=20Bugfix:Fe?= =?UTF-8?q?ature=20Binary=20Source:=20No?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: cat --- .../driver/common/src/sensor_config_parser.c | 52 +++++++++---------- 1 file changed, 25 insertions(+), 27 deletions(-) diff --git a/framework/model/sensor/driver/common/src/sensor_config_parser.c b/framework/model/sensor/driver/common/src/sensor_config_parser.c index 6c3c2f066..32bdc839a 100755 --- a/framework/model/sensor/driver/common/src/sensor_config_parser.c +++ b/framework/model/sensor/driver/common/src/sensor_config_parser.c @@ -73,7 +73,7 @@ static int32_t ParseSensorRegItem(struct DeviceResourceIface *parser, const stru num = parser->GetElemNum(regNode, groupName); if (num <= 0 || num > SENSOR_CONFIG_MAX_ITEM) { HDF_LOGE("%s: parser %s element num failed", __func__, groupName); - return HDF_SUCCESS; + return HDF_FAILURE; } buf = (uint16_t *)OsalMemCalloc(sizeof(uint16_t) * num); @@ -83,7 +83,7 @@ static int32_t ParseSensorRegItem(struct DeviceResourceIface *parser, const stru if (ret != HDF_SUCCESS) { HDF_LOGE("%s: parser %s reg array failed", __func__, groupName); OsalMemFree(buf); - return HDF_SUCCESS; + return HDF_FAILURE; } for (index = 0; index < itemNum; ++index) { @@ -121,35 +121,33 @@ int32_t ParseSensorRegGroup(struct DeviceResourceIface *parser, const struct Dev num = parser->GetElemNum(regCfgNode, groupName); group = *groupNode; - if (num > 0) { - if (group != NULL) { - if (group->regCfgItem != NULL) { - OsalMemFree(group->regCfgItem); - } - OsalMemFree(group); - } + if (num <= 0) { + return HDF_SUCCES; + } - group = (struct SensorRegCfgGroupNode*)OsalMemCalloc(sizeof(*group)); - if (group == NULL) { - HDF_LOGE("%s: malloc sensor reg config group failed", __func__); - return HDF_ERR_MALLOC_FAIL; - } + group = (struct SensorRegCfgGroupNode*)OsalMemCalloc(sizeof(*group)); + if (group == NULL) { + HDF_LOGE("%s: malloc sensor reg config group failed", __func__); + return HDF_ERR_MALLOC_FAIL; + } - *groupNode = group; - group->itemNum = (uint32_t)(num / SENSOR_REG_CFG_INDEX_MAX); - group->itemNum = ((SENSOR_REG_CFG_INDEX_MAX * group->itemNum) < (uint32_t)num) ? - (group->itemNum + 1) : group->itemNum; + *groupNode = group; + group->itemNum = (uint32_t)(num / SENSOR_REG_CFG_INDEX_MAX); + group->itemNum = ((SENSOR_REG_CFG_INDEX_MAX * group->itemNum) < (uint32_t)num) ? + (group->itemNum + 1) : group->itemNum; - group->regCfgItem = (struct SensorRegCfg*)OsalMemCalloc(group->itemNum * sizeof(*(group->regCfgItem))); - if (group->regCfgItem == NULL) { - HDF_LOGE("%s: malloc sensor reg config item failed", __func__); - return HDF_ERR_MALLOC_FAIL; - } + group->regCfgItem = (struct SensorRegCfg*)OsalMemCalloc(group->itemNum * sizeof(*(group->regCfgItem))); + if (group->regCfgItem == NULL) { + OsalMemFree(group); + HDF_LOGE("%s: malloc sensor reg config item failed", __func__); + return HDF_ERR_MALLOC_FAIL; + } - if (ParseSensorRegItem(parser, regCfgNode, groupName, group) != HDF_SUCCESS) { - HDF_LOGE("%s: malloc sensor reg config item data failed", __func__); - return HDF_FAILURE; - } + if (ParseSensorRegItem(parser, regCfgNode, groupName, group) != HDF_SUCCESS) { + OsalMemFree(group); + OsalMemFree(group->regCfgItem); + HDF_LOGE("%s: malloc sensor reg config item data failed", __func__); + return HDF_FAILURE; } return HDF_SUCCESS; -- Gitee From fa9d28432f516112c86e8b5329e18d0e9bf43842 Mon Sep 17 00:00:00 2001 From: cat Date: Tue, 25 Jul 2023 01:55:39 +0000 Subject: [PATCH 2/5] update framework/model/sensor/driver/common/src/sensor_config_parser.c. Signed-off-by: cat --- .../model/sensor/driver/common/src/sensor_config_parser.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/framework/model/sensor/driver/common/src/sensor_config_parser.c b/framework/model/sensor/driver/common/src/sensor_config_parser.c index 32bdc839a..5c1053ed2 100755 --- a/framework/model/sensor/driver/common/src/sensor_config_parser.c +++ b/framework/model/sensor/driver/common/src/sensor_config_parser.c @@ -122,7 +122,8 @@ int32_t ParseSensorRegGroup(struct DeviceResourceIface *parser, const struct Dev group = *groupNode; if (num <= 0) { - return HDF_SUCCES; + HDF_LOGD("%s: the num is %d", __func__, num); + return HDF_SUCCESS; } group = (struct SensorRegCfgGroupNode*)OsalMemCalloc(sizeof(*group)); @@ -144,8 +145,8 @@ int32_t ParseSensorRegGroup(struct DeviceResourceIface *parser, const struct Dev } if (ParseSensorRegItem(parser, regCfgNode, groupName, group) != HDF_SUCCESS) { + OsalMemFree(group->regCfgItem); OsalMemFree(group); - OsalMemFree(group->regCfgItem); HDF_LOGE("%s: malloc sensor reg config item data failed", __func__); return HDF_FAILURE; } -- Gitee From a4cea44ed70fd6c77bd4408fbea47282bb73c4b1 Mon Sep 17 00:00:00 2001 From: cat Date: Tue, 25 Jul 2023 11:27:37 +0000 Subject: [PATCH 3/5] update framework/model/sensor/driver/common/src/sensor_config_parser.c. Signed-off-by: cat --- framework/model/sensor/driver/common/src/sensor_config_parser.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/framework/model/sensor/driver/common/src/sensor_config_parser.c b/framework/model/sensor/driver/common/src/sensor_config_parser.c index 5c1053ed2..c54d3ed6d 100755 --- a/framework/model/sensor/driver/common/src/sensor_config_parser.c +++ b/framework/model/sensor/driver/common/src/sensor_config_parser.c @@ -145,7 +145,7 @@ int32_t ParseSensorRegGroup(struct DeviceResourceIface *parser, const struct Dev } if (ParseSensorRegItem(parser, regCfgNode, groupName, group) != HDF_SUCCESS) { - OsalMemFree(group->regCfgItem); + OsalMemFree(group->regCfgItem); OsalMemFree(group); HDF_LOGE("%s: malloc sensor reg config item data failed", __func__); return HDF_FAILURE; -- Gitee From d753529a54a66aead6bfffe5c99420bbe36cb525 Mon Sep 17 00:00:00 2001 From: cat Date: Tue, 1 Aug 2023 06:20:12 +0000 Subject: [PATCH 4/5] update framework/model/sensor/driver/common/src/sensor_config_parser.c. Signed-off-by: cat --- .../model/sensor/driver/common/src/sensor_config_parser.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/framework/model/sensor/driver/common/src/sensor_config_parser.c b/framework/model/sensor/driver/common/src/sensor_config_parser.c index c54d3ed6d..013c39fbe 100755 --- a/framework/model/sensor/driver/common/src/sensor_config_parser.c +++ b/framework/model/sensor/driver/common/src/sensor_config_parser.c @@ -139,14 +139,11 @@ int32_t ParseSensorRegGroup(struct DeviceResourceIface *parser, const struct Dev group->regCfgItem = (struct SensorRegCfg*)OsalMemCalloc(group->itemNum * sizeof(*(group->regCfgItem))); if (group->regCfgItem == NULL) { - OsalMemFree(group); HDF_LOGE("%s: malloc sensor reg config item failed", __func__); return HDF_ERR_MALLOC_FAIL; } if (ParseSensorRegItem(parser, regCfgNode, groupName, group) != HDF_SUCCESS) { - OsalMemFree(group->regCfgItem); - OsalMemFree(group); HDF_LOGE("%s: malloc sensor reg config item data failed", __func__); return HDF_FAILURE; } -- Gitee From 2f8027ebae5f279c4f8de826fddcc0e4ef01321d Mon Sep 17 00:00:00 2001 From: cat Date: Tue, 26 Dec 2023 01:24:27 +0000 Subject: [PATCH 5/5] Description:add input param validation Feature or Bugfix:Bugfix Binary Source: No Signed-off-by: cat --- framework/model/sensor/driver/include/sensor_device_type.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/framework/model/sensor/driver/include/sensor_device_type.h b/framework/model/sensor/driver/include/sensor_device_type.h index 8a5fb04be..db77fa0a3 100644 --- a/framework/model/sensor/driver/include/sensor_device_type.h +++ b/framework/model/sensor/driver/include/sensor_device_type.h @@ -90,6 +90,8 @@ struct SensorBasicInfo { int32_t power; /**< Sensor power */ int64_t minDelay; /**< Minimum sample period allowed in nanoseconds */ int64_t maxDelay; /**< Maxmum sample period allowed in nanoseconds */ + uint32_t fifoMaxEventCount; + uint32_t reserved; }; struct SensorReportEvent { -- Gitee