725d33939e
Read --key-file input in a loop until EOF or until the 33-byte rejection threshold is reached. A single read call is enough for ordinary regular files in practice, but FIFOs and process substitution can legally return fewer than 32 bytes before EOF. Treating that first short read as final made the new key-file path fail spuriously for exactly the shell-friendly usage it was meant to support. Keep the existing exact-length policy: 32 bytes is accepted, shorter files are rejected, and 33 or more bytes are rejected with the trailing-newline hint. The intermediate buffer remains zeroizing. Test Plan: - cargo test split_fifo_key_file_read_roundtrips - cargo fmt --check - cargo clippy --all-targets -- -D warnings - cargo test - git diff --check Refs: review finding for --key-file short reads