diff --git a/bundle.json b/bundle.json index d514e0cdb87176a0edcb4f35fd56b080338ffd70..874cc63c339ea44afbc820b1426f571daada04bc 100644 --- a/bundle.json +++ b/bundle.json @@ -5,7 +5,7 @@ "license": "Apache License 2.0", "publishAs": "code-segment", "segment": { - "destpath": "base/security/device_security_level" + "destPath": "base/security/device_security_level" }, "dirs": {}, "scripts": {}, diff --git a/interfaces/inner_api/src/standard/device_security_level_callback_helper.cpp b/interfaces/inner_api/src/standard/device_security_level_callback_helper.cpp index 8402ebbc940b30c6ca576b96c255921aec5f30b0..5d963ea211507708ab6e155f27cb81d9b3aaab11 100644 --- a/interfaces/inner_api/src/standard/device_security_level_callback_helper.cpp +++ b/interfaces/inner_api/src/standard/device_security_level_callback_helper.cpp @@ -123,14 +123,18 @@ bool DeviceSecurityLevelCallbackHelper::CallbackInfoHolder::PushCallback(const D bool DeviceSecurityLevelCallbackHelper::CallbackInfoHolder::PopCallback(uint32_t cookie, uint32_t result, uint32_t level) { - std::lock_guard lock(mutex_); - auto iter = map_.find(cookie); - if (iter == map_.end()) { - return false; + DeviceIdentify identity; + ResultCallback callback; + { + std::lock_guard lock(mutex_); + auto iter = map_.find(cookie); + if (iter == map_.end()) { + return false; + } + identity = iter->second.identity; + callback = iter->second.callback; + map_.erase(iter); } - DeviceIdentify identity = iter->second.identity; - ResultCallback callback = iter->second.callback; - map_.erase(iter); if (callback != nullptr) { auto creator = [result, level]() {