diff --git a/services/src/sensor_service.cpp b/services/src/sensor_service.cpp index 40a564d8af9f03c0089c4deb16c97d9456180982..3cf5ad38aca451ba48c2ae006caf2611eea667ed 100644 --- a/services/src/sensor_service.cpp +++ b/services/src/sensor_service.cpp @@ -88,7 +88,13 @@ bool SensorService::IsNeedLoadMotionLib() SEN_HILOGI("firstValue is not number"); return false; } - if (std::stoi(firstValue) == SINGLE_DISPLAY_SMALL_FOLD || std::stoi(firstValue) == SINGLE_DISPLAY_THREE_FOLD) { + int32_t firstValueNum = 0; + auto res = std::from_chars(firstValue.data(), firstValue.data() + firstValue.size(), firstValueNum); + if (res.ec != std::errc()) { + SEN_HILOGE("Failed to convert string %{public}s to number", firstValue.c_str()); + return false; + } + if (firstValueNum == SINGLE_DISPLAY_SMALL_FOLD || firstValueNum == SINGLE_DISPLAY_THREE_FOLD) { return true; } } diff --git a/test/fuzztest/interfaces/sensoragentenhanced_fuzzer/BUILD.gn b/test/fuzztest/interfaces/sensoragentenhanced_fuzzer/BUILD.gn index 2722a964ae7d874705cf3fecd49111475cf896a3..28dfc25ae8d3068155714a257e11c8c96e864534 100644 --- a/test/fuzztest/interfaces/sensoragentenhanced_fuzzer/BUILD.gn +++ b/test/fuzztest/interfaces/sensoragentenhanced_fuzzer/BUILD.gn @@ -44,9 +44,11 @@ ohos_fuzztest("SensorAgentEnhancedFuzzTest") { "access_token:libaccesstoken_sdk", "access_token:libnativetoken", "access_token:libtoken_setproc", + "cJSON:cjson_static", "c_utils:utils", "drivers_interface_sensor:libsensor_proxy_3.0", "hilog:libhilog", + "selinux_adapter:librestorecon", ] } diff --git a/test/fuzztest/services/service/getsensorlistbydevice_fuzzer/BUILD.gn b/test/fuzztest/services/service/getsensorlistbydevice_fuzzer/BUILD.gn index e1bda17589b35dd1c42a296f1ef2481ea7baa553..ca1cc4cbdaa693318bd5b232616890adc22b851a 100644 --- a/test/fuzztest/services/service/getsensorlistbydevice_fuzzer/BUILD.gn +++ b/test/fuzztest/services/service/getsensorlistbydevice_fuzzer/BUILD.gn @@ -58,12 +58,14 @@ ohos_fuzztest("GetSensorListByDeviceFuzzTest") { "access_token:libaccesstoken_sdk", "access_token:libnativetoken", "access_token:libtoken_setproc", + "cJSON:cjson_static", "c_utils:utils", + "drivers_interface_sensor:libsensor_proxy_3.0", "hilog:libhilog", "ipc:ipc_single", "safwk:system_ability_fwk", "samgr:samgr_proxy", - "drivers_interface_sensor:libsensor_proxy_3.0", + "selinux_adapter:librestorecon", ] }