diff --git a/frameworks/native/vibrator/src/vibrator_service_client.cpp b/frameworks/native/vibrator/src/vibrator_service_client.cpp index c9d1715bd7aa5a6fd2110988b6630649f5cebb98..7380758256f85e9a4e94094b692252dec89d1254 100644 --- a/frameworks/native/vibrator/src/vibrator_service_client.cpp +++ b/frameworks/native/vibrator/src/vibrator_service_client.cpp @@ -398,6 +398,7 @@ int32_t VibratorServiceClient::PreProcess(const VibratorFileDescription &fd, Vib .length = fd.length }; JsonParser parser(rawFd); + std::lock_guard decodeLock(decodeMutex_); decodeHandle_.decoder = decodeHandle_.create(parser); CHKPR(decodeHandle_.decoder, ERROR); VibratePackage pkg = {}; diff --git a/utils/haptic_decoder/oh_json/src/default_vibrator_decoder.cpp b/utils/haptic_decoder/oh_json/src/default_vibrator_decoder.cpp index b9f6e7fb25ced78331a22000d36e73f6cc5880f1..6549028dad326f80b2f841e01bf0c586d18cae61 100644 --- a/utils/haptic_decoder/oh_json/src/default_vibrator_decoder.cpp +++ b/utils/haptic_decoder/oh_json/src/default_vibrator_decoder.cpp @@ -94,7 +94,7 @@ int32_t DefaultVibratorDecoder::CheckMetadata(const JsonParser &parser) } int32_t DefaultVibratorDecoder::ParseChannel(const JsonParser &parser, VibratePattern &originPattern, - VibratePackage &patternPackage) + VibratePackage &patternPackage) __attribute__((no_sanitize("cfi"))) { cJSON *channelsItem = parser.GetObjectItem("Channels"); CHKPR(channelsItem, ERROR); @@ -126,7 +126,8 @@ int32_t DefaultVibratorDecoder::ParseChannel(const JsonParser &parser, VibratePa return SUCCESS; } -int32_t DefaultVibratorDecoder::ParseChannelParameters(const JsonParser &parser, cJSON *channelParametersItem) +int32_t DefaultVibratorDecoder::ParseChannelParameters(const JsonParser &parser, + cJSON *channelParametersItem) __attribute__((no_sanitize("cfi"))) { cJSON *indexItem = parser.GetObjectItem(channelParametersItem, "Index"); CHKPR(indexItem, ERROR);