summaryrefslogtreecommitdiffstats
path: root/vendor/ruzstd/src/tests/fuzz_regressions.rs
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-18 02:49:50 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-18 02:49:50 +0000
commit9835e2ae736235810b4ea1c162ca5e65c547e770 (patch)
tree3fcebf40ed70e581d776a8a4c65923e8ec20e026 /vendor/ruzstd/src/tests/fuzz_regressions.rs
parentReleasing progress-linux version 1.70.0+dfsg2-1~progress7.99u1. (diff)
downloadrustc-9835e2ae736235810b4ea1c162ca5e65c547e770.tar.xz
rustc-9835e2ae736235810b4ea1c162ca5e65c547e770.zip
Merging upstream version 1.71.1+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'vendor/ruzstd/src/tests/fuzz_regressions.rs')
-rw-r--r--vendor/ruzstd/src/tests/fuzz_regressions.rs26
1 files changed, 26 insertions, 0 deletions
diff --git a/vendor/ruzstd/src/tests/fuzz_regressions.rs b/vendor/ruzstd/src/tests/fuzz_regressions.rs
new file mode 100644
index 000000000..2e293af4d
--- /dev/null
+++ b/vendor/ruzstd/src/tests/fuzz_regressions.rs
@@ -0,0 +1,26 @@
+#[test]
+fn test_all_artifacts() {
+ use crate::frame_decoder;
+ use std::fs;
+ use std::fs::File;
+
+ let mut frame_dec = frame_decoder::FrameDecoder::new();
+
+ for file in fs::read_dir("./fuzz/artifacts/decode").unwrap() {
+ let file_name = file.unwrap().path();
+
+ let fnstr = file_name.to_str().unwrap().to_owned();
+ if !fnstr.contains("/crash-") {
+ continue;
+ }
+
+ let mut f = File::open(file_name.clone()).unwrap();
+ match frame_dec.reset(&mut f) {
+ Ok(_) => {
+ let _ = frame_dec.decode_blocks(&mut f, frame_decoder::BlockDecodingStrategy::All);
+ /* ignore errors. It just should never panic on invalid input */
+ }
+ Err(_) => {} /* ignore errors. It just should never panic on invalid input */
+ }
+ }
+}