fix: 临时 SAT 文件名唯一化并修正越界读 #22

Merged
gjm merged 1 commits from company-desktop-computer/refactor/x3dsolid-tempfile AGit into main 2026-10-21 09:11:18 +08:00
Collaborator
  • RegionToString/StringToRegion/BodyToString/StringToFace 的临时文件名
    由固定的 Region1/Region2/Region121/Region212/Region312.sat
    改为 x3d__<序号>.sat,多 CAD 实例或多线程并发时不再互相覆盖
  • 读取缓冲区补 +1 零字节,修复 new char[len] 无结尾 0 导致的越界读
  • 检查 file.Read 短读,失败时释放缓冲并返回空
  • 用完即 DeleteFile,不残留临时文件
- RegionToString/StringToRegion/BodyToString/StringToFace 的临时文件名 由固定的 Region1/Region2/Region121/Region212/Region312.sat 改为 x3d_<PID>_<序号>.sat,多 CAD 实例或多线程并发时不再互相覆盖 - 读取缓冲区补 +1 零字节,修复 new char[len] 无结尾 0 导致的越界读 - 检查 file.Read 短读,失败时释放缓冲并返回空 - 用完即 DeleteFile,不残留临时文件
company-desktop-computer added 1 commit 2026-10-21 09:06:48 +08:00
- RegionToString/StringToRegion/BodyToString/StringToFace 的临时文件名
  由固定的 Region1/Region2/Region121/Region212/Region312.sat
  改为 x3d_<PID>_<序号>.sat,多 CAD 实例或多线程并发时不再互相覆盖
- 读取缓冲区补 +1 零字节,修复 new char[len] 无结尾 0 导致的越界读
- 检查 file.Read 短读,失败时释放缓冲并返回空
- 用完即 DeleteFile,不残留临时文件
gjm approved these changes 2026-10-21 09:11:13 +08:00
gjm merged commit b8ef6ceb2c into main 2026-10-21 09:11:18 +08:00
Sign in to join this conversation.
No Reviewers
No labels
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: gjm/envi-code#22