INNER CODE UNIT · Rust

zstd_decompression_rejects_truncation_and_invalid_bounds

Augani/dory · dory-core/ffi/src/lib.rs:315

    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);
        let above_hard_limit =
            decompress_zstd_bounded(vec![1, 2, 3], MAXIMUM_ZSTD_OUTPUT_BYTES + 1);
        assert!(!above_hard_limit.ok);
    }

    #[test]
    fn rewrite_adds_extra_hosts() {

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…