mirror of
https://github.com/openharmony/ability_ability_runtime.git
synced 2026-08-27 21:30:06 -04:00
166b94dbce
**Critical 问题修复:** 1. **并发安全问题(C1)** - 添加 std::mutex 保护 extensionBlocklist_ - 在 LoadExtensionBlockList 中使用双重检查锁定模式 - 在 UpdateRuntimeModuleChecker 中使用局部拷贝避免死锁 - 在 GenerateExtensionEtsBlocklists 中添加锁保护 2. **边界条件检查(C2)** - 添加 type 参数有效性检查(type < 0 || type >= EXTENSION_TYPE_UNKNOWN) - 添加 extensionName 不存在时的警告日志 - 改进错误处理逻辑 3. **日志级别优化** - 文件不存在:TAG_LOGE -> TAG_LOGW(警告,配置可选) - extensionName 不存在:添加 TAG_LOGW - JSON 错误:保持 TAG_LOGE **改进说明:** - 使用 RAII 风格的 std::lock_guard 自动管理锁 - 在文件 I/O 操作前释放锁,避免长时间持锁 - 添加详细的日志信息便于调试 - 添加成员变量文档注释 **测试影响:** - 现有 TDD 测试用例需要更新以支持新的错误处理 - 建议运行并发测试验证线程安全性 关联 Issue: https://gitcode.com/openharmony/ability_ability_runtime/issues/14328 Signed-off-by: zhang_hao_zheng <zhanghaozheng2@h-partners.com>