Skip to content

fix: make manifest path validation platform-independent - #2

Merged
StarsailsClover merged 1 commit into
mainfrom
fix/ci-platform-independent-path-check
Oct 2, 2026
Merged

StarsailsClover merged 1 commit into
mainfrom
fix/ci-platform-independent-path-check

Conversation

@StarsailsClover

Copy link
Copy Markdown
Member

Problem

The Linux CI leg failed on v26.0-Alpha.1: std::path::Component does not recognize C:/... as a Windows prefix on Unix, so the path-safety unit test failed and a malformed manifest entry could be treated as relative on Linux.

Fix

Validate manifest paths explicitly and platform-independently before any restore write: reject POSIX absolute paths, Windows drive-letter prefixes, UNC paths, NUL bytes, empty segments, . and ... Adds no new dependency.

Verified

  • cargo fmt --all -- --check clean
  • cargo clippy --workspace --all-targets -- -D warnings clean
  • cargo test --workspace: 26 tests passing (14 unit + 9 workflow + 3 CLI)
  • CI matrix (Windows + Linux) is expected to go green on this branch

Also bumps the workspace version to 0.1.0-alpha.2 and records the v26.0-Alpha.2 changelog entry.

std::path::Component does not recognize Windows drive-letter paths on Unix, so 'C:/...' entries were treated as relative in the Linux CI leg. Validate separators, drive prefixes, empty segments, '.', and '..' explicitly before any restore write, and prepare v26.0-Alpha.2.
@StarsailsClover
StarsailsClover merged commit 23e5b04 into main Oct 2, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant