W19: plugin_loader hardening — ABI try/catch, path validation, atomic IDs, CLI exit codes (W19.1-W19.5)
Some checks failed
CI / Determine matrix (push) Has been cancelled
CI / ${{ matrix.os }} / ${{ matrix.build_type }} (push) Has been cancelled

Fixes: F-18.3-1 through F-18.3-5 (all CLOSED, findings registry at zero)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-27 19:34:43 +08:00
parent c545d16120
commit 3250b5a8bf
15 changed files with 273 additions and 30 deletions

View File

@@ -18,6 +18,17 @@ weaknesses:
- 对功能开发节奏感知较弱,容易"挡路"
- 偶尔过度强调低风险问题
performance_log:
- date: 2026-05-27
event: "W19.1: 修复 F-18.3-1 — plugin_loader 5 处 C ABI 调用点添加 try/catch (合作 qa-xu)"
rating: done
detail: |
为 load_plugin init_fn(L59)、initialize_all on_init(L237)、initialize_pending on_init(L272)、
unload_plugin on_shutdown(L108-109)、shutdown_all on_shutdown(L306-307) 五处 C ABI 调用点
添加 try/catch(const std::exception&)+catch(...) 双层保护。
initialize_all 实现 fail-continue单插件异常不阻断其他插件加载。
新增 host_api_ 成员存储日志通道fprintf(stderr) 替换为 host_api->log()。
编译 cmake --build build --config Release: 0 error, ctest: 5/5 pass。
findings-registry: F-18.3-1 OPEN→FIXED, Fix Wave W19.1。
- date: 2026-05-27
event: "W18.3: plugin_loader 安全审计 (合作 qa-xu) — 9 维度审计, 1 HIGH + 4 MEDIUM + 3 LOW 发现"
rating: done