diff --git a/frameworks/cj/src/cj_sensor_impl.cpp b/frameworks/cj/src/cj_sensor_impl.cpp index ae5739b78759580ff7a6aced4116747e6a14881c..210099499f75970ecc460fb726a9cfdcd7741534 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; }