Files
ElyOffice/tasks/reviews/C11.5-r2.md
T

1.1 KiB

FAIL

crates/ely-pdf-engine/shim/ely_meta.c:269 — 读取附件会清空文档中共享的嵌入流缓冲区,违反 PDF-07 与 PRD §11.1 的附件管理、保存规则。复现:添加含 5 字节 notes 的 note.txt,首次 attachment(doc, "n:note.txt") 返回原字节,第二次成功返回空字节;首次读取后保存并重新打开,附件内容也为空,文件中 /Length 已变为 0,附件栏仍依据 /Params /Size 显示 5 B,读取过程的历史标记保持原值。应用的“附件另存为”使用同一路径,因此导出一次新附件即可使随后保存的 PDF 丢失该附件内容。真实 worker 探针 review_reading_new_attachment_keeps_bytes_for_next_read_and_save 在原实现失败;隔离副本改为复制缓冲区字节后,该探针及附件重名、撤销、保存重开探针通过,恢复原实现后再次失败。现有保存测试只核对附件名称。修复方向:复制 pdf_load_embedded_file_contents 返回的字节到独立输出缓冲区,保留文档持有的流内容;回归核对重复读取、导出后保存重开的完整字节及读取前后的历史标记。