Files
ability_ability_runtime/interfaces
zhang_hao_zheng 166b94dbce 修复 ExtensionConfigMgr 的并发安全和边界条件问题
**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>
2026-01-26 16:03:33 +08:00
..
2026-01-24 18:33:42 +08:00