Skip to content

Tighten ffi pointer bounds, sparse archive extraction, and the Windows default trust store#31581

Open
Jarred-Sumner wants to merge 8 commits into
mainfrom
claude/security-round-9
Open

Tighten ffi pointer bounds, sparse archive extraction, and the Windows default trust store#31581
Jarred-Sumner wants to merge 8 commits into
mainfrom
claude/security-round-9

archive: gate sparse entry truncation to non-Windows

44589b9
Select commit
Loading
Failed to load commit list.
Claude / Claude Code Review completed May 29, 2026 in 16m 12s

Code review found 1 potential issue

Found 5 candidates, confirmed 1. See review comments for details.

Details

Severity Count
🔴 Important 0
🟡 Nit 0
🟣 Pre-existing 1
Severity File:Line Issue
🟣 Pre-existing src/runtime/ffi/FFIObject.rs:467 get_ptr_slice() still has the -off i64::MIN overflow

Annotations

Check notice on line 467 in src/runtime/ffi/FFIObject.rs

See this annotation in the file changed.

@claude claude / Claude Code Review

get_ptr_slice() still has the -off i64::MIN overflow

The `unsigned_abs()` fix was applied in `ptr_()` per the earlier comment, but the identical `usize::try_from(-off)` in `get_ptr_slice()` (line 541, used by `toBuffer`/`toArrayBuffer`/`CString`) was left as-is. The earlier comment's caveat that `get_ptr_slice` is "gated by an `is_finite()` check" is wrong — the `-off` negation runs *before* the `is_finite()` guard, so e.g. `toBuffer(p, -Infinity)` still saturates to `i64::MIN` and panics on the negation / `.expect("int cast")`. Pre-existing, but