diff --git a/frameworks/js/napi/src/sensor_js.cpp b/frameworks/js/napi/src/sensor_js.cpp index 1d80d11208e841e4506b92b0d91e3c35bc90a17d..42169d925155433a091fae964f27766063234679 100644 --- a/frameworks/js/napi/src/sensor_js.cpp +++ b/frameworks/js/napi/src/sensor_js.cpp @@ -86,6 +86,10 @@ static bool copySensorData(sptr callbackInfo, SensorEvent *ev (fabs(g_bodyState - BODY_STATE_EXCEPT) < THRESHOLD) ? true : false; return true; } + if (sizeof(callbackInfo->data.sensorData.data) < event->dataLen) { + SEN_HILOGE("callbackInfo space is insufficient"); + return false; + } if (memcpy_s(callbackInfo->data.sensorData.data, sizeof(callbackInfo->data.sensorData.data), data, event->dataLen) != EOK) { SEN_HILOGE("Copy data failed"); diff --git a/frameworks/js/napi/src/sensor_napi_error.cpp b/frameworks/js/napi/src/sensor_napi_error.cpp index b2696e48dbc4163b35b87f01c1d81af4970b944a..e7855f64d746d9a570e5bc14a42b4ec64eafc88a 100644 --- a/frameworks/js/napi/src/sensor_napi_error.cpp +++ b/frameworks/js/napi/src/sensor_napi_error.cpp @@ -29,7 +29,7 @@ napi_value CreateBusinessError(const napi_env &env, const int32_t errCode, const napi_value msg = nullptr; NAPI_CALL(env, napi_create_int32(env, errCode, &code)); NAPI_CALL(env, napi_create_string_utf8(env, errMessage.c_str(), NAPI_AUTO_LENGTH, &msg)); - napi_create_error(env, nullptr, msg, &businessError); + NAPI_CALL(env, napi_create_error(env, nullptr, msg, &businessError)); napi_set_named_property(env, businessError, "code", code); return businessError; } diff --git a/frameworks/js/napi/src/sensor_napi_utils.cpp b/frameworks/js/napi/src/sensor_napi_utils.cpp index 0780de8adeec7f3d00af6cba0bca0bf97f96768a..040dbb295bfb20b18323082dab13fdde73474793 100644 --- a/frameworks/js/napi/src/sensor_napi_utils.cpp +++ b/frameworks/js/napi/src/sensor_napi_utils.cpp @@ -61,7 +61,7 @@ bool GetFloatArray(const napi_env &env, const napi_value &value, vector & CALL_LOG_ENTER; uint32_t arrayLength = 0; CHKNRF(env, napi_get_array_length(env, value, &arrayLength), "napi_get_array_length"); - for (size_t i = 0; i < arrayLength; ++i) { + for (uint32_t i = 0; i < arrayLength; ++i) { napi_value element = nullptr; CHKNRF(env, napi_get_element(env, value, i, &element), "napi_get_element"); CHKNCF(env, IsMatchType(env, element, napi_number), "Wrong argument type. Number or function expected"); diff --git a/frameworks/native/src/geomagnetic_field.cpp b/frameworks/native/src/geomagnetic_field.cpp index e0ac5c49a1ff8bf012d72a772cd84446b3cecb8a..a84280789337cf7477e7eea3c04ab250c13c5b6e 100644 --- a/frameworks/native/src/geomagnetic_field.cpp +++ b/frameworks/native/src/geomagnetic_field.cpp @@ -21,7 +21,6 @@ #include "sensor_errors.h" #include "sensor_utils.h" -using namespace std; using namespace OHOS::Sensors; namespace { constexpr float EARTH_MAJOR_AXIS_RADIUS = 6378.137f; diff --git a/services/hdi_connection/interface/src/sensor_hdi_connection.cpp b/services/hdi_connection/interface/src/sensor_hdi_connection.cpp index 65568e3377af5302aa06c9739a232a1c1b510612..3990a43b30c91c933c4b52275a2bb7abfeb94a2b 100644 --- a/services/hdi_connection/interface/src/sensor_hdi_connection.cpp +++ b/services/hdi_connection/interface/src/sensor_hdi_connection.cpp @@ -36,7 +36,7 @@ namespace { #ifdef BUILD_VARIANT_ENG constexpr float MAX_RANGE = 9999.0; constexpr float POWER = 20.0; -constexpr float RESOLITION = 0.000001; +constexpr float RESOLUTION = 0.000001; constexpr float MIN_SAMPLE_PERIOD_NS = 100000000; constexpr float MAX_SAMPLE_PERIOD_NS = 1000000000; const std::string VERSION_NAME = "1.0.1"; @@ -140,7 +140,7 @@ Sensor SensorHdiConnection::GenerateColorSensor() sensorColor.SetMaxRange(MAX_RANGE); sensorColor.SetSensorName("sensor_color"); sensorColor.SetVendorName("default_color"); - sensorColor.SetResolution(RESOLITION); + sensorColor.SetResolution(RESOLUTION); sensorColor.SetPower(POWER); sensorColor.SetMinSamplePeriodNs(MIN_SAMPLE_PERIOD_NS); sensorColor.SetMaxSamplePeriodNs(MAX_SAMPLE_PERIOD_NS); @@ -157,7 +157,7 @@ Sensor SensorHdiConnection::GenerateSarSensor() sensorSar.SetMaxRange(MAX_RANGE); sensorSar.SetSensorName("sensor_sar"); sensorSar.SetVendorName("default_sar"); - sensorSar.SetResolution(RESOLITION); + sensorSar.SetResolution(RESOLUTION); sensorSar.SetPower(POWER); sensorSar.SetMinSamplePeriodNs(MIN_SAMPLE_PERIOD_NS); sensorSar.SetMaxSamplePeriodNs(MAX_SAMPLE_PERIOD_NS); @@ -174,7 +174,7 @@ Sensor SensorHdiConnection::GenerateHeadPostureSensor() sensorHeadPosture.SetMaxRange(MAX_RANGE); sensorHeadPosture.SetSensorName("sensor_headPosture"); sensorHeadPosture.SetVendorName("default_headPosture"); - sensorHeadPosture.SetResolution(RESOLITION); + sensorHeadPosture.SetResolution(RESOLUTION); sensorHeadPosture.SetPower(POWER); sensorHeadPosture.SetMinSamplePeriodNs(MIN_SAMPLE_PERIOD_NS); sensorHeadPosture.SetMaxSamplePeriodNs(MAX_SAMPLE_PERIOD_NS); @@ -191,7 +191,7 @@ Sensor SensorHdiConnection::GenerateProximitySensor() sensorProximity.SetMaxRange(MAX_RANGE); sensorProximity.SetSensorName("sensor_proximity1"); sensorProximity.SetVendorName("default_proximity1"); - sensorProximity.SetResolution(RESOLITION); + sensorProximity.SetResolution(RESOLUTION); sensorProximity.SetPower(POWER); sensorProximity.SetMinSamplePeriodNs(MIN_SAMPLE_PERIOD_NS); sensorProximity.SetMaxSamplePeriodNs(MAX_SAMPLE_PERIOD_NS); diff --git a/services/src/stream_server.cpp b/services/src/stream_server.cpp index 27176c12b59da7eb00f2490b8260a286b87cfc30..d83fe1f23b58c9633be2399910245ccf8697cf17 100644 --- a/services/src/stream_server.cpp +++ b/services/src/stream_server.cpp @@ -37,6 +37,10 @@ StreamServer::~StreamServer() std::lock_guard sessionLock(sessionMutex_); idxPidMap_.clear(); for (const auto &item : sessionsMap_) { + if (item.second == nullptr) { + SEN_HILOGE("SessionPtr is null"); + continue; + } item.second->Close(); } sessionsMap_.clear(); diff --git a/utils/common/src/permission_util.cpp b/utils/common/src/permission_util.cpp index a135a6d564435f2efa6d975446ad415053e37117..c5f58f2274777064b81e3507ad236372de178ce6 100644 --- a/utils/common/src/permission_util.cpp +++ b/utils/common/src/permission_util.cpp @@ -40,10 +40,11 @@ std::unordered_map PermissionUtil::sensorPermissions_ = { int32_t PermissionUtil::CheckSensorPermission(AccessTokenID callerToken, int32_t sensorTypeId) { - if (sensorPermissions_.find(sensorTypeId) == sensorPermissions_.end()) { + auto iter = sensorPermissions_.find(sensorTypeId); + if (iter == sensorPermissions_.end()) { return PERMISSION_GRANTED; } - std::string permissionName = sensorPermissions_[sensorTypeId]; + std::string permissionName = iter->second; int32_t ret = AccessTokenKit::VerifyAccessToken(callerToken, permissionName); if ((permissionName == ACTIVITY_MOTION_PERMISSION) || (permissionName == READ_HEALTH_DATA_PERMISSION)) { diff --git a/utils/ipc/src/stream_buffer.cpp b/utils/ipc/src/stream_buffer.cpp index 5b5135ecfd39fa1e0252193bbfcb879d20ba8f0b..0b57bf85a3e5a80a0e15f45b6ebae62e42d6e626 100644 --- a/utils/ipc/src/stream_buffer.cpp +++ b/utils/ipc/src/stream_buffer.cpp @@ -24,7 +24,9 @@ StreamBuffer::StreamBuffer(const StreamBuffer &buf) StreamBuffer &StreamBuffer::operator=(const StreamBuffer &other) { - Clone(other); + if (this != &other) { + Clone(other); + } return *this; } diff --git a/vibration_convert/core/native/src/vibration_convert_core.cpp b/vibration_convert/core/native/src/vibration_convert_core.cpp index 22b1db4b773b8999998457c7f0fed84b73c23fda..b03ce62c47e06163dcffce6326a46684386034ab 100644 --- a/vibration_convert/core/native/src/vibration_convert_core.cpp +++ b/vibration_convert/core/native/src/vibration_convert_core.cpp @@ -143,6 +143,7 @@ int32_t VibrationConvertCore::ResampleAudioData(const std::vector &srcDa } size_t originDataSize = srcDatas.size(); srcAudioDatas_.clear(); + srcAudioDatas_.reserve(originDataSize); for (size_t i = 0; i < (originDataSize - 1); i += RESAMPLE_MULTIPLE) { srcAudioDatas_.push_back(srcDatas[i]); srcAudioDatas_.push_back(srcDatas[i+1]);