INNER CODE UNIT · Rust
oversized
Augani/dory · dory-core/ffi/src/lib.rs:308
let oversized = decompress_zstd_bounded(compressed, (input.len() - 1) as u64);
assert!(!oversized.ok);
assert!(oversized.body.is_empty());
assert!(oversized.error.contains("exceeds"));
}
#[test]
fn zstd_decompression_rejects_truncation_and_invalid_bounds() {
let input = vec![0x41; 64 * 1024];
let mut compressed = zstd::stream::encode_all(input.as_slice(), 1).unwrap();
compressed.truncate(compressed.len() / 2);
let truncated = decompress_zstd_bounded(compressed, 128 * 1024);
assert!(!truncated.ok);
assert!(truncated.body.is_empty());
let zero = decompress_zstd_bounded(vec![1, 2, 3], 0);
assert!(!zero.ok);