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

2.2 KiB

FAIL

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

crates/ely-lok/src/client.rs:324 — R7 的完整 JSON 校验缺陷仍在。第 318 行找出原始控制字符后,第 324 行仍把它当作反斜杠处理,按后一个字符解码。通过 IPC 返回正确的三个版本字段,并追加值为 a、实际换行(或制表符、U+0001)、b 的字符串字段,实测 Worker::spawn 均成功;ProductName 使用实际 U+0001 后接 u004cibreOffice 也被解码为 LibreOffice 并通过校验。新增复验还发现字段间 U+00A0 被当成合法 JSON 空白。合法指数与代理对附加字段、前导零拒绝已通过复验,畸形响应仍能通过固定构建校验。修复方向:使用完整 JSON 解析器校验顶层版本字段,并加入覆盖原始控制字符、JSON 空白边界、指数、前导零及 Unicode 转义的回归测试。

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