diff --git a/fuzz/artifacts/decode/crash-c746b132a6561becc94bbaf80f0fcd22c805ae7e b/fuzz/artifacts/decode/crash-c746b132a6561becc94bbaf80f0fcd22c805ae7e new file mode 100644 index 0000000..eef44c0 Binary files /dev/null and b/fuzz/artifacts/decode/crash-c746b132a6561becc94bbaf80f0fcd22c805ae7e differ diff --git a/fuzz/fuzz_targets/decode.rs b/fuzz/fuzz_targets/decode.rs index ab38137..ec1cc4a 100644 --- a/fuzz/fuzz_targets/decode.rs +++ b/fuzz/fuzz_targets/decode.rs @@ -4,7 +4,7 @@ extern crate ruzstd; use ruzstd::frame_decoder; fuzz_target!(|data: &[u8]| { - let mut content = data.clone(); + let mut content = data; let mut frame_dec = frame_decoder::FrameDecoder::new(); match frame_dec.reset(&mut content){ diff --git a/src/decoding/bit_reader_reverse.rs b/src/decoding/bit_reader_reverse.rs index 13c9c75..639e465 100644 --- a/src/decoding/bit_reader_reverse.rs +++ b/src/decoding/bit_reader_reverse.rs @@ -127,7 +127,7 @@ impl<'s> BitReaderReversed<'s> { let emulated_read_shift = signed_n - self.bits_remaining(); let v = self.get_bits(self.bits_remaining() as u8); debug_assert!(self.idx == 0); - let value = v << emulated_read_shift; + let value = v.wrapping_shl(emulated_read_shift as u32); self.idx -= emulated_read_shift; return value; }