INNER CODE UNIT · Rust

input

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

        let input = vec![0x5a; 2 * 1024 * 1024];
        let compressed = zstd::stream::encode_all(input.as_slice(), 3).unwrap();

        let result = decompress_zstd_bounded(compressed.clone(), input.len() as u64);
        assert!(result.ok, "{}", result.error);
        assert_eq!(result.body, input);

        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);

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…