Files
ElyOffice/tasks/reviews/C07.1-r7.md
T

2.0 KiB

FAIL

crates/ely-lok/src/client/tests.rs:169 — R6 的宏安全回归测试缺陷仍在。样本文档只绑定按钮事件,加载测试没有触发该事件;正向对照执行的是用户配置中的另一份库宏。隔离副本将 LOAD_OPTIONS 改为 EnableMacrosExecution=true,MacroSecurityLevel=0,重新构建工作进程后运行 a_macro_never_writes_its_marker,实测仍通过,无法检测 LOK-11 的加载时放开宏回归。修复方向:以同一份带有效自动执行事件的文档验证禁用和放开两种配置,要求放开宏的变异使安全测试失败;正向执行对照放入独立测试程序。

crates/ely-lok/src/client.rs:318 — R6 的完整 JSON 校验缺陷仍在。新增控制字符搜索只匹配 U+0000 和 U+001F,原始换行、制表符和 U+0001 仍直接进入字符串;第 363 行的数字扫描仍排除 e、E 和 +,新增指数检查分支实际不可达。通过 IPC 返回正确的三个版本字段,再追加含上述任一原始控制字符的字符串字段,实测 Worker::spawn 均成功;追加合法的 "extra":1e2 则被拒绝。前导零已拒绝,合法代理对附加字段已接受,但畸形响应仍能通过固定构建校验。修复方向:使用完整 JSON 解析器校验顶层版本字段,并加入覆盖控制字符、指数、前导零及 Unicode 转义的回归测试。

scripts/build-libreoffice.sh:64 — R6 的残缺补丁校验缺陷仍在。逆向完整性检查失败后,仍以全文件 marker 将残缺补丁认作旧注释版本。对固定提交的原始 init.cxx 应用完整补丁,分别仅将 BitmapTools 头文件条件、像素复制分支条件恢复为 #ifdef _WIN32,实跑脚本均打印 tile patch already applied (older comment)、进入受控 make 桩并以 0 退出;像素复制分支会在 macOS 被编译掉,破坏出图块要求。旧绘制条件回退已被拒绝,首次应用完整补丁也通过。修复方向:校验所有补丁修改的完整结果,明确拒绝残缺或未知状态,并加入逐项撤销修改的回归测试。