From e59057f6d150660b830c0cd9872a7d023277ee86 Mon Sep 17 00:00:00 2001 From: zj94 Date: Thu, 24 Apr 2025 19:37:11 +0800 Subject: [PATCH] [bugfix]: Fixed segment fault because of accessing random address Signed-off-by: zj94 Change-Id: Ic3a8e5c6ec86113d3b73335ff4ad26d1f037efd9 --- frameworks/cj/src/cj_sensor_impl.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/frameworks/cj/src/cj_sensor_impl.cpp b/frameworks/cj/src/cj_sensor_impl.cpp index ae5739b7..21009949 100644 --- a/frameworks/cj/src/cj_sensor_impl.cpp +++ b/frameworks/cj/src/cj_sensor_impl.cpp @@ -351,17 +351,19 @@ int32_t CJSensorImpl::GetAllSensorList(CSensorArray &sensorList) SEN_HILOGE("Malloc failed."); return ERR_OK; } - int32_t i = 0; - for (; i < count; ++i) { + + int32_t size = 0; + for (int32_t i = 0; i < count; ++i) { if ((sensorInfos[i].sensorTypeId == SENSOR_TYPE_ID_AMBIENT_LIGHT1) || (sensorInfos[i].sensorTypeId == SENSOR_TYPE_ID_PROXIMITY1) || (sensorInfos[i].sensorTypeId > GL_SENSOR_TYPE_PRIVATE_MIN_VALUE)) { SEN_HILOGD("This sensor is secondary ambient light"); continue; } - Transform2CSensor(sensorInfos[i], sensorList.head[i]); + Transform2CSensor(sensorInfos[i], sensorList.head[size]); + ++size; } - sensorList.size = i; + sensorList.size = size; return ERR_OK; } -- Gitee