From 6fcfcca44fdd6c10575bb8415a57a126528430cf Mon Sep 17 00:00:00 2001 From: Andreas Molzer Date: Sat, 23 Mar 2019 03:43:46 +0100 Subject: [PATCH 01/39] Avoid unsafety from creating vector from differently sized parts --- Cargo.toml | 1 - src/lib.rs | 1 - src/tiff.rs | 6 ++++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 3f4d04b7b0..feda345474 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -34,7 +34,6 @@ num-iter = "0.1.32" num-rational = { version = "0.2.1", default-features = false } num-traits = "0.2.0" lzw = "0.10.0" -safe-transmute = "0.10.1" [dependencies.gif] version = "0.10.0" diff --git a/src/lib.rs b/src/lib.rs index d0141060c6..e131e3d774 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -14,7 +14,6 @@ extern crate lzw; extern crate num_iter; extern crate num_rational; extern crate num_traits; -extern crate safe_transmute; #[cfg(all(test, feature = "benchmarks"))] extern crate test; diff --git a/src/tiff.rs b/src/tiff.rs index 763f73d874..bc370bfa01 100644 --- a/src/tiff.rs +++ b/src/tiff.rs @@ -10,7 +10,6 @@ extern crate tiff; use color::ColorType; use image::{ImageDecoder, ImageResult, ImageError}; -use safe_transmute; use std::io::{Cursor, Read, Seek}; @@ -82,7 +81,10 @@ impl ImageDecoder for TIFFDecoder { match self.inner.read_image()? { tiff::decoder::DecodingResult::U8(v) => Ok(v), tiff::decoder::DecodingResult::U16(v) => { - Ok(safe_transmute::guarded_transmute_to_bytes_pod_vec(v)) + Ok(v.into_iter().flat_map(|u| { + let [a, b] = u.to_ne_bytes(); + std::iter::once(a).chain(std::iter::once(b)) + }).collect()) } } } From a5b2b2fc5708774b3796936a241ee12dfbb51d5b Mon Sep 17 00:00:00 2001 From: Andreas Molzer Date: Sat, 23 Mar 2019 03:56:45 +0100 Subject: [PATCH 02/39] Remove unsafety from raw vec construction Replaces #885, or rather was discovered during it as it was originally trying to reason abouts its safety. --- src/hdr/hdr_decoder.rs | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/hdr/hdr_decoder.rs b/src/hdr/hdr_decoder.rs index 94723a3e0c..2446a7f062 100644 --- a/src/hdr/hdr_decoder.rs +++ b/src/hdr/hdr_decoder.rs @@ -5,7 +5,7 @@ use num_traits::identities::Zero; use std::borrow::Cow; use std::error::Error; use std::io::{self, BufRead, Cursor, Seek}; -use std::iter::Iterator; +use std::iter::{once, Iterator}; use std::path::Path; use Primitive; @@ -47,17 +47,17 @@ impl HDRAdapter { fn read_image_data(&mut self) -> ImageResult<()> { match self.inner.take() { Some(decoder) => { - let elem_len = ::std::mem::size_of::>(); - let mut img: Vec> = decoder.read_image_ldr()?; - // let's transform Vec> into Vec - let p = img.as_mut_ptr() as *mut u8; - let len = img.len() * elem_len; // length in bytes - let cap = img.capacity() * elem_len; // - ::std::mem::forget(img); - - unsafe { - self.data = Some(Vec::from_raw_parts(p, len, cap)); - } + let img: Vec> = decoder.read_image_ldr()?; + + let len = img.len() * std::mem::size_of::>(); // length in bytes + let target = self.data.get_or_insert_with(|| Vec::with_capacity(len)); + target.clear(); + + target.extend(img.into_iter().flat_map(|rgb| { + let [a, b, c] = rgb.data; + once(a).chain(once(b)).chain(once(c)) + })); + Ok(()) } None => Err(ImageError::ImageEnd), From 9aecb8c8defde134f042139b589bf41595c5322c Mon Sep 17 00:00:00 2001 From: Andreas Molzer Date: Sat, 23 Mar 2019 17:49:11 +0100 Subject: [PATCH 03/39] Less flat_map and once, as llvm doesn't properly optimize them --- src/hdr/hdr_decoder.rs | 7 +++---- src/tiff.rs | 12 ++++-------- src/utils/mod.rs | 20 ++++++++++++++++++++ 3 files changed, 27 insertions(+), 12 deletions(-) diff --git a/src/hdr/hdr_decoder.rs b/src/hdr/hdr_decoder.rs index 2446a7f062..0370b17843 100644 --- a/src/hdr/hdr_decoder.rs +++ b/src/hdr/hdr_decoder.rs @@ -53,10 +53,9 @@ impl HDRAdapter { let target = self.data.get_or_insert_with(|| Vec::with_capacity(len)); target.clear(); - target.extend(img.into_iter().flat_map(|rgb| { - let [a, b, c] = rgb.data; - once(a).chain(once(b)).chain(once(c)) - })); + for Rgb { data } in img { + target.extend_from_slice(&data); + } Ok(()) } diff --git a/src/tiff.rs b/src/tiff.rs index bc370bfa01..a65b961a86 100644 --- a/src/tiff.rs +++ b/src/tiff.rs @@ -8,10 +8,11 @@ extern crate tiff; +use std::io::{Cursor, Read, Seek}; + use color::ColorType; use image::{ImageDecoder, ImageResult, ImageError}; - -use std::io::{Cursor, Read, Seek}; +use utils::vec_u16_into_u8; /// Decoder for TIFF images. pub struct TIFFDecoder @@ -80,12 +81,7 @@ impl ImageDecoder for TIFFDecoder { fn read_image(mut self) -> ImageResult> { match self.inner.read_image()? { tiff::decoder::DecodingResult::U8(v) => Ok(v), - tiff::decoder::DecodingResult::U16(v) => { - Ok(v.into_iter().flat_map(|u| { - let [a, b] = u.to_ne_bytes(); - std::iter::once(a).chain(std::iter::once(b)) - }).collect()) - } + tiff::decoder::DecodingResult::U16(v) => Ok(vec_u16_into_u8(v)), } } } diff --git a/src/utils/mod.rs b/src/utils/mod.rs index 9665633ba7..985421aeb2 100644 --- a/src/utils/mod.rs +++ b/src/utils/mod.rs @@ -1,6 +1,7 @@ //! Utilities use num_iter::range_step; +use std::{mem, slice}; use std::iter::repeat; #[inline(always)] @@ -31,3 +32,22 @@ where func(pixel, &mut buf[j as usize..(j + channels) as usize]) } } + +pub fn vec_u16_into_u8(vec: Vec) -> Vec { + // Do this way until we find a way to not alloc/dealloc but get llvm to realloc instead. + vec_u16_copy_u8(&vec) +} + +pub fn vec_u16_copy_u8(vec: &Vec) -> Vec { + let original_slice = vec.as_slice(); + let ptr = original_slice.as_ptr() as *const u8; + let len = original_slice.len() * mem::size_of::(); + + // Note: The original pointer points to `len` bytes and all bytes are initialized thus it is + // valid for this slice and for the lifetime of the method. Also, the alignment of `u8` is + // smaller than that of `u16` as per the assert. The `ptr` is non-null because it originates + // from a slice itself. + assert!(mem::align_of::() <= mem::align_of::()); + let byte_slice = unsafe { slice::from_raw_parts(ptr, len) }; + byte_slice.to_owned() +} From 7a6c70708894ba520382517361ba39937bad957f Mon Sep 17 00:00:00 2001 From: Andreas Molzer Date: Sat, 23 Mar 2019 19:11:14 +0100 Subject: [PATCH 04/39] Remove unused import --- src/hdr/hdr_decoder.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hdr/hdr_decoder.rs b/src/hdr/hdr_decoder.rs index 0370b17843..0d0b09beb2 100644 --- a/src/hdr/hdr_decoder.rs +++ b/src/hdr/hdr_decoder.rs @@ -5,7 +5,7 @@ use num_traits::identities::Zero; use std::borrow::Cow; use std::error::Error; use std::io::{self, BufRead, Cursor, Seek}; -use std::iter::{once, Iterator}; +use std::iter::Iterator; use std::path::Path; use Primitive; From 039895dd38dcd15456fa6ae59b47ac267d9a02a0 Mon Sep 17 00:00:00 2001 From: Andreas Molzer Date: Sat, 23 Mar 2019 20:50:17 +0100 Subject: [PATCH 05/39] Backport mem::size_of import to 1.24.1 --- src/hdr/hdr_decoder.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/hdr/hdr_decoder.rs b/src/hdr/hdr_decoder.rs index 0d0b09beb2..56f39f40ef 100644 --- a/src/hdr/hdr_decoder.rs +++ b/src/hdr/hdr_decoder.rs @@ -1,6 +1,7 @@ use super::scoped_threadpool::Pool; use num_traits::cast::NumCast; use num_traits::identities::Zero; +use std::mem; #[cfg(test)] use std::borrow::Cow; use std::error::Error; @@ -49,7 +50,7 @@ impl HDRAdapter { Some(decoder) => { let img: Vec> = decoder.read_image_ldr()?; - let len = img.len() * std::mem::size_of::>(); // length in bytes + let len = img.len() * mem::size_of::>(); // length in bytes let target = self.data.get_or_insert_with(|| Vec::with_capacity(len)); target.clear(); From deb81f16530ba6e0a06a8e09f5a3c91d17f731aa Mon Sep 17 00:00:00 2001 From: Andreas Molzer Date: Sat, 13 Apr 2019 10:41:37 +0200 Subject: [PATCH 06/39] Add a documentation entry about the potential memory safety issue --- docs/2019-04-23-memory-unsafety.md | 54 ++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 docs/2019-04-23-memory-unsafety.md diff --git a/docs/2019-04-23-memory-unsafety.md b/docs/2019-04-23-memory-unsafety.md new file mode 100644 index 0000000000..3989eb2efe --- /dev/null +++ b/docs/2019-04-23-memory-unsafety.md @@ -0,0 +1,54 @@ +# Advisory about potential memory unsafety issues + +[While reviewing][i885] some `unsafe Vec::from_raw_parts` operations within the +library, trying to justify their existence with stronger reasoning, we noticed +that they instead did not meet the required conditions set by the standard +library. This unsoundness was quickly removed, but we noted that the same +unjustified reasoning had been applied by a dependency introduced in `0.21`. + +For efficiency reasons, we had tried to reuse the allocations made by decoders +for the buffer of the final image. However, that process is error prone. Most +image decoding algorithms change the representation type of color samples to +some degree. Notably, the output pixel type may have a different size and +alignment than the type used in the temporary decoding buffer. In this specific +instance, the `ImageBuffer` of the output expects a linear arrangement of `u8` +samples while the implementation of the `hdr` decoder uses a pixel +representation of `Rgb`, which has three times the size. One of the +requirements of `Vec::from_raw_parts` reads: + +> ptr's T needs to have the same size and alignment as it was allocated with. + +This requirement is not present on slices `[T]`, as it is motivated by the +allocator interface. The validity invariant of a reference and slice only +requires the correct alignment here, which was considered in the design of +`Rgb<_>` by giving it a well-defined representation, `#[repr(C)]`. But +critically, this does not guarantee that we can reuse the existing allocation +through effectively transmuting a `Vec<_>`! + +The actual impact of this issue is, in real world implementations, limited to +allocators which handle allocations for types of size `1` and `3`/`4` +differently. To the best of my knowledge, this does not apply to `jemalloc` and +the `libc` allocator. However, we decided to proceed with caution here. + +## Lessons for the future + +New library dependencies will be under a stricter policy. Not only would they +need to be justified by functionality but also require at least some level of +reasoning how they solve that problem better than alternatives. Some appearance +of maintenance, or the existence of `#[deny(unsafe)]`, will help. We'll +additionally look into existing dependencies trying to identify similar issues +and minimizing the potential surface for implementation risks. + +## Sound and safe buffer reuse + +It seems that the `Vec` representation is entirely unfit for buffer reuse in +the style which an image library requires. In particular, using pixel types of +different sizes is likely common to handle either whole (encoded) pixels or +individual samples. Thus, we started a new sub-project to address this use +case, [image-canvas][image-canvas]. Contributions and review of its safety are +very welcome, we ask for the communities help here. The release of `v0.1` will +not occur until at least one such review has occurred. + + +[i885]: https://github.com/image-rs/image/pull/885 +[image-canvas]: https://github.com/image-rs/canvas From 1939f10d261aae1918a89338bfdf7d051762e2e9 Mon Sep 17 00:00:00 2001 From: Andreas Molzer Date: Sat, 13 Apr 2019 10:41:57 +0200 Subject: [PATCH 07/39] Update cargo minor version --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index feda345474..3bfbd63f46 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "image" -version = "0.21.0" +version = "0.21.1" license = "MIT" description = "Imaging library written in Rust. Provides basic filters and decoders for the most common image formats." authors = [ From fc173ad22d6b499932038f37716f3384d7276826 Mon Sep 17 00:00:00 2001 From: Andreas Molzer Date: Sat, 13 Apr 2019 09:48:54 +0200 Subject: [PATCH 08/39] Update CHANGES.md for v0.21.1 --- CHANGES.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CHANGES.md b/CHANGES.md index 74490e9704..840de4668c 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -8,6 +8,15 @@ Rust image aims to be a pure-Rust implementation of various popular image format ## Changes +### Version 0.21.1 + +- A fairly important bugfix backport +- Fixed a potentially memory safety issue in the hdr and tiff decoders, see #885 +- See [the full advisory](docs/2019-04-23-memory-unsafety.md) for an analysis +- Fixes `ImageBuffer` index calculation for very, very large images +- Fix some crashes while parsing specific incomplete pnm images +- Added comprehensive fuzzing for the pam image types + ### Version 0.21 - Updated README to use `GenericImageView` From 68c29d64f46e9fcf51b8a329c15f1bce115230e3 Mon Sep 17 00:00:00 2001 From: Isan-Rivkin Date: Fri, 1 Feb 2019 14:01:24 +0200 Subject: [PATCH 09/39] adding type for the compiler and deref for pixel --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 86f6e56564..1a4c786b74 100644 --- a/README.md +++ b/README.md @@ -103,8 +103,8 @@ extern crate image; use image::{GenericImage, ImageBuffer}; -// Construct a new ImageBuffer with the specified width and height. -let img = ImageBuffer::new(512, 512); +// Construct a new RGB ImageBuffer with the specified width and height. +let img : image::RgbImage = ImageBuffer::new(512, 512); // Construct a new by repeated calls to the supplied closure. let img = ImageBuffer::from_fn(512, 512, |x, y| { @@ -125,7 +125,7 @@ let pixel = img[(100, 100)]; let pixel = img.get_pixel(100, 100); // Put a pixel at coordinate (100, 100). -img.put_pixel(100, 100, pixel); +img.put_pixel(100, 100, *pixel); // Iterate over all pixels in the image. for pixel in img.pixels() { From 032e8b03158d32d0ad09160b5cc67bb3c1b8d9cd Mon Sep 17 00:00:00 2001 From: Birk Tjelmeland Date: Mon, 4 Feb 2019 20:12:37 +0100 Subject: [PATCH 10/39] Update png limits --- src/png.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/png.rs b/src/png.rs index cc0111c7c7..8ce1128789 100644 --- a/src/png.rs +++ b/src/png.rs @@ -10,6 +10,7 @@ extern crate png; use self::png::HasParameters; +use std; use std::io::{self, Cursor, Read, Write}; use color::ColorType; @@ -24,7 +25,10 @@ pub struct PNGDecoder { impl PNGDecoder { /// Creates a new decoder that decodes from the stream ```r``` pub fn new(r: R) -> ImageResult> { - let decoder = png::Decoder::new(r); + let limits = png::Limits { + pixels: std::u64::MAX, + }; + let decoder = png::Decoder::new_with_limits(r, limits); let (_, mut reader) = decoder.read_info()?; let colortype = reader.output_color_type().into(); From 0f727e413c578a85c2c0d2203f7c93a1c222e114 Mon Sep 17 00:00:00 2001 From: Philip Craig Date: Mon, 17 Dec 2018 17:06:53 +1000 Subject: [PATCH 11/39] bmp/encoder: encode RGBA using bitfields with alpha mask --- src/bmp/encoder.rs | 91 +++++++++++++++++++++++++++++++++++++--------- 1 file changed, 73 insertions(+), 18 deletions(-) diff --git a/src/bmp/encoder.rs b/src/bmp/encoder.rs index 3e3eb30b3d..20e6291ba8 100644 --- a/src/bmp/encoder.rs +++ b/src/bmp/encoder.rs @@ -3,6 +3,10 @@ use std::io::{self, Write}; use color; +const BITMAPFILEHEADER_SIZE: u32 = 14; +const BITMAPINFOHEADER_SIZE: u32 = 40; +const BITMAPV4HEADER_SIZE: u32 = 108; + /// The representation of a BMP encoder. pub struct BMPEncoder<'a, W: 'a> { writer: &'a mut W, @@ -24,10 +28,9 @@ impl<'a, W: Write + 'a> BMPEncoder<'a, W> { height: u32, c: color::ColorType, ) -> io::Result<()> { - let bmp_header_size = 14; - let dib_header_size = 40; // using BITMAPINFOHEADER + let bmp_header_size = BITMAPFILEHEADER_SIZE; - let (raw_pixel_size, written_pixel_size, palette_color_count) = try!(get_pixel_info(c)); + let (dib_header_size, written_pixel_size, palette_color_count) = try!(get_pixel_info(c)); let row_pad_size = (4 - (width * written_pixel_size) % 4) % 4; // each row must be padded to a multiple of 4 bytes let image_size = width * height * written_pixel_size + (height * row_pad_size); @@ -54,20 +57,43 @@ impl<'a, W: Write + 'a> BMPEncoder<'a, W> { self.writer .write_u16::((written_pixel_size * 8) as u16) ); // bits per pixel - try!(self.writer.write_u32::(0)); // compression method - no compression + if dib_header_size >= BITMAPV4HEADER_SIZE { + // Assume BGRA32 + try!(self.writer.write_u32::(3)); // compression method - bitfields + } else { + try!(self.writer.write_u32::(0)); // compression method - no compression + } try!(self.writer.write_u32::(image_size)); try!(self.writer.write_i32::(0)); // horizontal ppm try!(self.writer.write_i32::(0)); // vertical ppm try!(self.writer.write_u32::(palette_color_count)); try!(self.writer.write_u32::(0)); // all colors are important + if dib_header_size >= BITMAPV4HEADER_SIZE { + // Assume BGRA32 + try!(self.writer.write_u32::(0xff << 16)); // red mask + try!(self.writer.write_u32::(0xff << 8)); // green mask + try!(self.writer.write_u32::(0xff << 0)); // blue mask + try!(self.writer.write_u32::(0xff << 24)); // alpha mask + try!(self.writer.write_u32::(0x73524742)); // colorspace - sRGB + // endpoints (3x3) and gamma (3) + for _ in 0..12 { + try!(self.writer.write_u32::(0)); + } + } // write image data match c { - color::ColorType::RGB(8) | color::ColorType::RGBA(8) => { - try!(self.encode_rgb(image, width, height, row_pad_size, raw_pixel_size)) + color::ColorType::RGB(8) => { + try!(self.encode_rgb(image, width, height, row_pad_size, 3)) + } + color::ColorType::RGBA(8) => { + try!(self.encode_rgba(image, width, height, row_pad_size, 4)) } - color::ColorType::Gray(8) | color::ColorType::GrayA(8) => { - try!(self.encode_gray(image, width, height, row_pad_size, raw_pixel_size)) + color::ColorType::Gray(8) => { + try!(self.encode_gray(image, width, height, row_pad_size, 1)) + } + color::ColorType::GrayA(8) => { + try!(self.encode_gray(image, width, height, row_pad_size, 2)) } _ => { return Err(io::Error::new( @@ -111,6 +137,38 @@ impl<'a, W: Write + 'a> BMPEncoder<'a, W> { Ok(()) } + fn encode_rgba( + &mut self, + image: &[u8], + width: u32, + height: u32, + row_pad_size: u32, + bytes_per_pixel: u32, + ) -> io::Result<()> { + let x_stride = bytes_per_pixel; + let y_stride = width * x_stride; + for row in 0..height { + // from the bottom up + let row_start = (height - row - 1) * y_stride; + for col in 0..width { + let pixel_start = (row_start + (col * x_stride)) as usize; + let r = image[pixel_start]; + let g = image[pixel_start + 1]; + let b = image[pixel_start + 2]; + let a = image[pixel_start + 3]; + // written as BGRA + try!(self.writer.write_u8(b)); + try!(self.writer.write_u8(g)); + try!(self.writer.write_u8(r)); + try!(self.writer.write_u8(a)); + } + + try!(self.write_row_pad(row_pad_size)); + } + + Ok(()) + } + fn encode_gray( &mut self, image: &[u8], @@ -164,13 +222,13 @@ fn get_unsupported_error_message(c: color::ColorType) -> String { ) } -/// Returns a tuple representing: (raw pixel size, written pixel size, palette color count). +/// Returns a tuple representing: (dib header size, written pixel size, palette color count). fn get_pixel_info(c: color::ColorType) -> io::Result<(u32, u32, u32)> { let sizes = match c { - color::ColorType::RGB(8) => (3, 3, 0), - color::ColorType::RGBA(8) => (4, 3, 0), - color::ColorType::Gray(8) => (1, 1, 256), - color::ColorType::GrayA(8) => (2, 1, 256), + color::ColorType::RGB(8) => (BITMAPINFOHEADER_SIZE, 3, 0), + color::ColorType::RGBA(8) => (BITMAPV4HEADER_SIZE, 4, 0), + color::ColorType::Gray(8) => (BITMAPINFOHEADER_SIZE, 1, 256), + color::ColorType::GrayA(8) => (BITMAPINFOHEADER_SIZE, 1, 256), _ => { return Err(io::Error::new( io::ErrorKind::InvalidInput, @@ -215,12 +273,9 @@ mod tests { #[test] fn round_trip_single_pixel_rgba() { - let image = [255u8, 0, 0, 0]; // single red pixel + let image = [1, 2, 3, 4]; let decoded = round_trip_image(&image, 1, 1, ColorType::RGBA(8)); - assert_eq!(3, decoded.len()); - assert_eq!(255, decoded[0]); - assert_eq!(0, decoded[1]); - assert_eq!(0, decoded[2]); + assert_eq!(&decoded[..], &image[..]); } #[test] From b8bb07edff366132ccc5c29aa2bc06121bbee340 Mon Sep 17 00:00:00 2001 From: Sven Nilsen Date: Sun, 17 Mar 2019 17:36:17 +0000 Subject: [PATCH 12/39] Fix `RgbImage` spacing --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1a4c786b74..cee6593172 100644 --- a/README.md +++ b/README.md @@ -101,10 +101,10 @@ An image parameterised by its Pixel types, represented by a width and height and ```rust extern crate image; -use image::{GenericImage, ImageBuffer}; +use image::{GenericImage, ImageBuffer, RgbImage}; // Construct a new RGB ImageBuffer with the specified width and height. -let img : image::RgbImage = ImageBuffer::new(512, 512); +let img: RgbImage = ImageBuffer::new(512, 512); // Construct a new by repeated calls to the supplied closure. let img = ImageBuffer::from_fn(512, 512, |x, y| { From 567e4cfe9d4c0282953ca185ea4021c00a0ab781 Mon Sep 17 00:00:00 2001 From: Andreas Molzer Date: Sun, 7 Apr 2019 15:05:07 +0200 Subject: [PATCH 13/39] Update url references to image-rs group --- Cargo.toml | 4 ++-- README.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 3bfbd63f46..9d7ac13e24 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -15,8 +15,8 @@ authors = [ ] readme = "README.md" documentation = "https://docs.rs/image" -repository = "https://github.com/PistonDevelopers/image.git" -homepage = "https://github.com/PistonDevelopers/image" +repository = "https://github.com/image-rs/image.git" +homepage = "https://github.com/image-rs/image" categories = ["multimedia::images", "multimedia::encoding"] exclude = [ "src/png/testdata/*", diff --git a/README.md b/README.md index cee6593172..2e14623cb9 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Image [![Build Status](https://travis-ci.org/PistonDevelopers/image.svg?branch=master)](https://travis-ci.org/PistonDevelopers/image) +# Image [![Build Status](https://travis-ci.org/image-rs/image.svg?branch=master)](https://travis-ci.org/image-rs/image) Maintainers: @nwin, @ccgn From e18440be25b2fa5d89e8bd81764e0a387c431413 Mon Sep 17 00:00:00 2001 From: Andreas Molzer Date: Tue, 9 Apr 2019 02:34:36 +0200 Subject: [PATCH 14/39] Add the gitter badge --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2e14623cb9..af24553133 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Image [![Build Status](https://travis-ci.org/image-rs/image.svg?branch=master)](https://travis-ci.org/image-rs/image) +# Image [![Build Status](https://travis-ci.org/image-rs/image.svg?branch=master)](https://travis-ci.org/image-rs/image) [![Gitter](https://badges.gitter.im/image-rs/image.svg)](https://gitter.im/image-rs/image?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) Maintainers: @nwin, @ccgn From cc715435d17f85943ee5ba8f1c07a047d519a463 Mon Sep 17 00:00:00 2001 From: Andreas Molzer Date: Sat, 13 Apr 2019 20:35:23 +0200 Subject: [PATCH 15/39] Update contribution url --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index af24553133..53071c9b05 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Maintainers: @nwin, @ccgn -[How to contribute](https://github.com/PistonDevelopers/piston/blob/master/CONTRIBUTING.md) +[How to contribute](https://github.com/image-rs/organization/blob/master/CONTRIBUTING.md) ## An Image Processing Library From 49e0d16c4579039bdecc777f9a1f7798b04da108 Mon Sep 17 00:00:00 2001 From: Ethan Brierley Date: Sun, 21 Apr 2019 17:49:20 +0100 Subject: [PATCH 16/39] Derive Debug on FilterType This just makes life easier. --- src/imageops/sample.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/imageops/sample.rs b/src/imageops/sample.rs index b712da21ed..3e8c0ebf9f 100644 --- a/src/imageops/sample.rs +++ b/src/imageops/sample.rs @@ -13,7 +13,7 @@ use math::utils::clamp; use traits::{Enlargeable, Primitive}; /// Available Sampling Filters -#[derive(Clone, Copy)] +#[derive(Clone, Copy, Debug)] pub enum FilterType { /// Nearest Neighbor Nearest, From fb34b6e91d2bdc4fed2b17d3a7ad0c6b88393f07 Mon Sep 17 00:00:00 2001 From: Jonathan Behrens Date: Sun, 24 Mar 2019 14:30:41 -0400 Subject: [PATCH 17/39] Remove nearly all instances of unsafe --- src/buffer.rs | 14 +++++--------- src/hdr/hdr_decoder.rs | 17 +++-------------- src/image.rs | 6 ++---- src/utils/mod.rs | 17 +++++------------ 4 files changed, 15 insertions(+), 39 deletions(-) diff --git a/src/buffer.rs b/src/buffer.rs index a6d02dcd94..9dced39003 100644 --- a/src/buffer.rs +++ b/src/buffer.rs @@ -401,13 +401,11 @@ where return None } - Some(unsafe { - self.unsafe_pixel_indices(x, y) - }) + Some(self.pixel_indices_unchecked(x, y)) } #[inline(always)] - unsafe fn unsafe_pixel_indices(&self, x: u32, y: u32) -> Range { + fn pixel_indices_unchecked(&self, x: u32, y: u32) -> Range { let no_channels =

::channel_count() as usize; // If in bounds, this can't overflow as we have tested that at construction! let min_index = (y as usize*self.width as usize + x as usize)*no_channels; @@ -612,7 +610,7 @@ where /// Returns the pixel located at (x, y), ignoring bounds checking. #[inline(always)] unsafe fn unsafe_get_pixel(&self, x: u32, y: u32) -> P { - let indices = self.unsafe_pixel_indices(x, y); + let indices = self.pixel_indices_unchecked(x, y); *

::from_slice(self.data.get_unchecked(indices)) } @@ -640,7 +638,7 @@ where /// Puts a pixel at location (x, y), ignoring bounds checking. #[inline(always)] unsafe fn unsafe_put_pixel(&mut self, x: u32, y: u32, pixel: P) { - let indices = self.unsafe_pixel_indices(x, y); + let indices = self.pixel_indices_unchecked(x, y); let p =

::from_slice_mut(self.data.get_unchecked_mut(indices)); *p = pixel } @@ -753,9 +751,7 @@ impl GrayImage { let (width, height) = self.dimensions(); let mut data = self.into_raw(); let entries = data.len(); - data.reserve_exact(entries.checked_mul(3).unwrap()); // 3 additional channels - // set_len is save since type is u8 an the data never read - unsafe { data.set_len(entries.checked_mul(4).unwrap()) }; // 4 channels in total + data.resize(entries.checked_mul(4).unwrap(), 0); let mut buffer = ImageBuffer::from_vec(width, height, data).unwrap(); expand_packed(&mut buffer, 4, 8, |idx, pixel| { let (r, g, b) = palette[idx as usize]; diff --git a/src/hdr/hdr_decoder.rs b/src/hdr/hdr_decoder.rs index 56f39f40ef..b540a17351 100644 --- a/src/hdr/hdr_decoder.rs +++ b/src/hdr/hdr_decoder.rs @@ -128,7 +128,7 @@ pub struct HDRDecoder { /// Refer to [wikipedia](https://en.wikipedia.org/wiki/RGBE_image_format) #[repr(C)] -#[derive(Clone, Copy, Debug, PartialEq, Eq)] +#[derive(Clone, Copy, Debug, Default, PartialEq, Eq)] pub struct RGBE8Pixel { /// Color components pub c: [u8; 3], @@ -302,11 +302,7 @@ impl HDRDecoder { } // expression self.width > 0 && self.height > 0 is true from now to the end of this method let pixel_count = self.width as usize * self.height as usize; - let mut ret = Vec::::with_capacity(pixel_count); - unsafe { - // RGBE8Pixel doesn't implement Drop, so it's Ok to drop half-initialized ret - ret.set_len(pixel_count); - } // ret contains uninitialized data, so now it's my responsibility to return fully initialized ret + let mut ret = vec![Default::default(); pixel_count]; for chunk in ret.chunks_mut(self.width as usize) { try!(read_scanline(&mut self.r, chunk)); } @@ -376,17 +372,10 @@ impl IntoIterator for HDRDecoder { type IntoIter = HDRImageDecoderIterator; fn into_iter(self) -> Self::IntoIter { - // scanline buffer - let mut buf = Vec::with_capacity(self.width as usize); - unsafe { - // dropping half-initialized vector of RGBE8Pixel is safe - // and I took care to hide half-initialized vector from a user - buf.set_len(self.width as usize); - } HDRImageDecoderIterator { r: self.r, scanline_cnt: self.height as usize, - buf, + buf: vec![Default::default(); self.width as usize], col: 0, scanline: 0, trouble: true, // make first call to `next()` read scanline diff --git a/src/image.rs b/src/image.rs index f5d900f925..a714fde2d8 100644 --- a/src/image.rs +++ b/src/image.rs @@ -686,10 +686,8 @@ pub trait GenericImage: GenericImageView { for i in 0..other.width() { for k in 0..other.height() { - unsafe { - let p = other.unsafe_get_pixel(i, k); - self.unsafe_put_pixel(i + x, k + y, p); - } + let p = other.get_pixel(i, k); + self.put_pixel(i + x, k + y, p); } } true diff --git a/src/utils/mod.rs b/src/utils/mod.rs index 985421aeb2..b83bdc9581 100644 --- a/src/utils/mod.rs +++ b/src/utils/mod.rs @@ -1,7 +1,8 @@ //! Utilities +use byteorder::{NativeEndian, ByteOrder}; use num_iter::range_step; -use std::{mem, slice}; +use std::mem; use std::iter::repeat; #[inline(always)] @@ -39,15 +40,7 @@ pub fn vec_u16_into_u8(vec: Vec) -> Vec { } pub fn vec_u16_copy_u8(vec: &Vec) -> Vec { - let original_slice = vec.as_slice(); - let ptr = original_slice.as_ptr() as *const u8; - let len = original_slice.len() * mem::size_of::(); - - // Note: The original pointer points to `len` bytes and all bytes are initialized thus it is - // valid for this slice and for the lifetime of the method. Also, the alignment of `u8` is - // smaller than that of `u16` as per the assert. The `ptr` is non-null because it originates - // from a slice itself. - assert!(mem::align_of::() <= mem::align_of::()); - let byte_slice = unsafe { slice::from_raw_parts(ptr, len) }; - byte_slice.to_owned() + let mut new = vec![0; vec.len() * mem::size_of::()]; + NativeEndian::write_u16_into(&vec[..], &mut new[..]); + new } From a3235ee6fc78932867808fd630d7bd5087661f79 Mon Sep 17 00:00:00 2001 From: Waddlesworth Date: Tue, 9 Apr 2019 11:44:59 +1000 Subject: [PATCH 18/39] remove power of two check --- src/dxt.rs | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/dxt.rs b/src/dxt.rs index 8f1ce099db..a2062c3c57 100644 --- a/src/dxt.rs +++ b/src/dxt.rs @@ -83,9 +83,6 @@ impl DXTDecoder { } let width_blocks = width / 4; let height_blocks = height / 4; - if width.count_ones() != 1 || height.count_ones() != 1 { - return Err(ImageError::DimensionError); - } Ok(DXTDecoder { inner: r, width_blocks, @@ -216,9 +213,6 @@ impl DXTEncoder { } let width_blocks = width / 4; let height_blocks = height / 4; - if width.count_ones() != 1 || height.count_ones() != 1 { - return Err(ImageError::DimensionError); - } let stride = variant.decoded_bytes_per_block(); From 5f69675cb04e4dadc9af0f2a09bb968e45d1db5a Mon Sep 17 00:00:00 2001 From: Jonathan Behrens Date: Thu, 25 Apr 2019 10:06:42 -0400 Subject: [PATCH 19/39] Clarify that webp decoder can only decode luma channel --- src/webp/decoder.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/webp/decoder.rs b/src/webp/decoder.rs index cd52b35429..2c69615b8f 100644 --- a/src/webp/decoder.rs +++ b/src/webp/decoder.rs @@ -12,7 +12,8 @@ use color; use super::vp8::Frame; use super::vp8::VP8Decoder; -/// A Representation of a Webp Image format decoder. +/// Webp Image format decoder. Currently only supportes the luma channel (meaning that decoded +/// images will be grayscale). pub struct WebpDecoder { r: R, frame: Frame, From 4b547b12eea54b51054523cf7ec19217a0aa242d Mon Sep 17 00:00:00 2001 From: Andreas Molzer Date: Sun, 28 Apr 2019 20:28:58 +0200 Subject: [PATCH 20/39] Rename fuzzing samples for windows compatibility The command used to rename is also added to the minimization script, to avoid producing the same issue in future corpus directories and to have a reference if necessary. --- ...4 => id_000004,sig_06,src_000187,op_havoc,rep_4} | 0 ...cov => id_000011,src_000000,op_flip1,pos_3,+cov} | 0 ...p1,pos:4 => id_000012,src_000000,op_flip1,pos_4} | 0 ...p1,pos:4 => id_000013,src_000000,op_flip1,pos_4} | 0 ...p1,pos:7 => id_000016,src_000000,op_flip1,pos_7} | 0 ...cov => id_000022,src_000000,op_flip2,pos_5,+cov} | 0 ...cov => id_000024,src_000000,op_flip4,pos_1,+cov} | 0 ...cov => id_000025,src_000000,op_flip4,pos_2,+cov} | 0 ...d_000026,src_000000,op_arith8,pos_1,val_-3,+cov} | 0 ...=> id_000028,src_000000,op_arith8,pos_6,val_-14} | 0 ...=> id_000029,src_000000,op_arith8,pos_7,val_-13} | 0 ... => id_000032,src_000000,op_int32,pos_3,val_+32} | Bin ...,rep:16 => id_000035,src_000000,op_havoc,rep_16} | 0 ...ov => id_000037,src_000000,op_havoc,rep_64,+cov} | 0 ...oc,rep:2 => id_000038,src_000000,op_havoc,rep_2} | 0 ...,rep:16 => id_000041,src_000000,op_havoc,rep_16} | 0 ...,rep:16 => id_000044,src_000000,op_havoc,rep_16} | 0 ...cov => id_000045,src_000000,op_havoc,rep_2,+cov} | 0 ...oc,rep:8 => id_000048,src_000000,op_havoc,rep_8} | 0 ...oc,rep:4 => id_000051,src_000000,op_havoc,rep_4} | 0 ...oc,rep:2 => id_000053,src_000000,op_havoc,rep_2} | 0 ...,rep:16 => id_000054,src_000000,op_havoc,rep_16} | 0 ...oc,rep:2 => id_000057,src_000000,op_havoc,rep_2} | 0 ...,rep:32 => id_000059,src_000000,op_havoc,rep_32} | 0 ...oc,rep:2 => id_000061,src_000000,op_havoc,rep_2} | 0 ...oc,rep:8 => id_000063,src_000000,op_havoc,rep_8} | 0 ...cov => id_000065,src_000000,op_havoc,rep_8,+cov} | 0 ...oc,rep:2 => id_000071,src_000000,op_havoc,rep_2} | 0 ...oc,rep:2 => id_000072,src_000000,op_havoc,rep_2} | 0 ...,rep:16 => id_000075,src_000000,op_havoc,rep_16} | 0 ...cov => id_000078,src_000003,op_havoc,rep_2,+cov} | 0 ...oc,rep:8 => id_000081,src_000007,op_havoc,rep_8} | 0 ...oc,rep:2 => id_000090,src_000017,op_havoc,rep_2} | 0 ...oc,rep:2 => id_000093,src_000017,op_havoc,rep_2} | 0 ...ov => id_000105,src_000017,op_havoc,rep_16,+cov} | 0 ...oc,rep:2 => id_000106,src_000017,op_havoc,rep_2} | 0 ...cov => id_000109,src_000017,op_havoc,rep_8,+cov} | 0 ...,rep:32 => id_000111,src_000017,op_havoc,rep_32} | 0 ...oc,rep:4 => id_000113,src_000017,op_havoc,rep_4} | 0 ...cov => id_000115,src_000017,op_havoc,rep_4,+cov} | Bin ...p2,pos:8 => id_000118,src_000020,op_flip2,pos_8} | 0 ...p1,pos:7 => id_000119,src_000026,op_flip1,pos_7} | 0 ..._000120,src_000026,op_arith8,pos_8,val_+25,+cov} | 0 ...cov => id_000121,src_000052,op_havoc,rep_4,+cov} | 0 ...cov => id_000124,src_000052,op_havoc,rep_4,+cov} | 0 ...p1,pos:5 => id_000127,src_000063,op_flip1,pos_5} | 0 ...ov => id_000130,src_000065,op_flip4,pos_11,+cov} | 0 ...ov => id_000135,src_000070,op_flip2,pos_10,+cov} | 0 ...cov => id_000137,src_000070,op_flip4,pos_8,+cov} | 0 ...oc,rep:2 => id_000143,src_000070,op_havoc,rep_2} | Bin ...oc,rep:4 => id_000144,src_000070,op_havoc,rep_4} | Bin ...oc,rep:2 => id_000145,src_000070,op_havoc,rep_2} | 0 ...oc,rep:2 => id_000146,src_000070,op_havoc,rep_2} | 0 ...oc,rep:2 => id_000147,src_000070,op_havoc,rep_2} | 0 ...oc,rep:2 => id_000148,src_000070,op_havoc,rep_2} | 0 ...oc,rep:2 => id_000152,src_000070,op_havoc,rep_2} | Bin ...,rep:16 => id_000153,src_000070,op_havoc,rep_16} | 0 ...oc,rep:2 => id_000154,src_000070,op_havoc,rep_2} | Bin ...oc,rep:4 => id_000156,src_000070,op_havoc,rep_4} | 0 ...,rep:32 => id_000157,src_000070,op_havoc,rep_32} | 0 ...cov => id_000158,src_000078,op_flip1,pos_3,+cov} | 0 ...cov => id_000159,src_000078,op_flip1,pos_6,+cov} | 0 ...oc,rep:2 => id_000161,src_000078,op_havoc,rep_2} | 0 ...=> id_000162,src_000079,op_arith8,pos_5,val_-21} | 0 ...oc,rep:2 => id_000163,src_000079,op_havoc,rep_2} | 0 ...ov => id_000164,src_000084,op_flip2,pos_11,+cov} | 0 ...000166,src_000084,op_arith8,pos_10,val_+25,+cov} | 0 ...000168,src_000084,op_arith8,pos_11,val_+11,+cov} | 0 ...000169,src_000084,op_arith8,pos_11,val_+13,+cov} | 0 ... => id_000171,src_000084,op_int8,pos_12,val_+32} | Bin ...oc,rep:4 => id_000176,src_000084,op_havoc,rep_4} | 0 ...oc,rep:4 => id_000177,src_000084,op_havoc,rep_4} | 0 ...cov => id_000178,src_000084,op_havoc,rep_4,+cov} | 0 ...oc,rep:2 => id_000180,src_000084,op_havoc,rep_2} | 0 ...oc,rep:2 => id_000181,src_000084,op_havoc,rep_2} | 0 ...cov => id_000183,src_000084,op_havoc,rep_2,+cov} | 0 ...cov => id_000188,src_000087,op_flip4,pos_7,+cov} | 0 ..._000189,src_000087,op_arith8,pos_3,val_-19,+cov} | 0 ..._000190,src_000087,op_arith8,pos_3,val_-21,+cov} | 0 ...0 => id_000192,src_000087,op_int32,pos_3,val_+0} | 0 ...0 => id_000193,src_000087,op_int32,pos_7,val_+0} | 0 ...oc,rep:2 => id_000194,src_000087,op_havoc,rep_2} | 0 ...pos:19 => id_000196,src_000094,op_flip16,pos_19} | 0 ...oc,rep:8 => id_000200,src_000108,op_havoc,rep_8} | 0 ...oc,rep:8 => id_000201,src_000108,op_havoc,rep_8} | 0 ...oc,rep:2 => id_000202,src_000109,op_havoc,rep_2} | 0 ...p1,pos:3 => id_000203,src_000110,op_flip1,pos_3} | 0 ...oc,rep:4 => id_000204,src_000114,op_havoc,rep_4} | 0 ...cov => id_000206,src_000114,op_havoc,rep_4,+cov} | 0 ...oc,rep:4 => id_000208,src_000114,op_havoc,rep_4} | 0 ...oc,rep:4 => id_000209,src_000114,op_havoc,rep_4} | 0 ...oc,rep:2 => id_000212,src_000114,op_havoc,rep_2} | 0 ...oc,rep:4 => id_000214,src_000114,op_havoc,rep_4} | 0 ...,rep:16 => id_000217,src_000114,op_havoc,rep_16} | 0 ...,rep:16 => id_000220,src_000120,op_havoc,rep_16} | Bin ...cov => id_000221,src_000125,op_havoc,rep_8,+cov} | 0 ... => id_000222,src_000130,op_arith8,pos_1,val_-3} | Bin ...p4,pos:9 => id_000223,src_000135,op_flip4,pos_9} | 0 ...oc,rep:4 => id_000224,src_000136,op_havoc,rep_4} | 0 ...,pos:10 => id_000225,src_000137,op_flip4,pos_10} | 0 ...oc,rep:4 => id_000227,src_000151,op_havoc,rep_4} | 0 ...,rep:16 => id_000229,src_000151,op_havoc,rep_16} | 0 ...oc,rep:4 => id_000230,src_000151,op_havoc,rep_4} | 0 ...,rep:16 => id_000232,src_000151,op_havoc,rep_16} | 0 ...oc,rep:2 => id_000233,src_000151,op_havoc,rep_2} | 0 ...cov => id_000234,src_000159,op_flip2,pos_1,+cov} | 0 ...p2,pos:3 => id_000235,src_000159,op_flip2,pos_3} | 0 ...cov => id_000236,src_000159,op_flip2,pos_7,+cov} | 0 ...,rep:32 => id_000238,src_000159,op_havoc,rep_32} | 0 ...cov => id_000240,src_000159,op_havoc,rep_2,+cov} | 0 ...oc,rep:2 => id_000241,src_000159,op_havoc,rep_2} | 0 ...cov => id_000242,src_000159,op_havoc,rep_2,+cov} | 0 ...oc,rep:4 => id_000245,src_000164,op_havoc,rep_4} | 0 ...oc,rep:4 => id_000247,src_000164,op_havoc,rep_4} | 0 ...oc,rep:2 => id_000249,src_000164,op_havoc,rep_2} | 0 ...,rep:16 => id_000250,src_000164,op_havoc,rep_16} | 0 ...cov => id_000252,src_000164,op_havoc,rep_2,+cov} | 0 ...,rep:16 => id_000253,src_000167,op_havoc,rep_16} | 0 ...oc,rep:4 => id_000256,src_000167,op_havoc,rep_4} | 0 ...oc,rep:2 => id_000257,src_000167,op_havoc,rep_2} | 0 ...cov => id_000261,src_000168,op_havoc,rep_4,+cov} | 0 ...,rep:16 => id_000262,src_000168,op_havoc,rep_16} | 0 ...oc,rep:8 => id_000264,src_000169,op_havoc,rep_8} | 0 ...oc,rep:2 => id_000268,src_000169,op_havoc,rep_2} | 0 ...oc,rep:4 => id_000269,src_000169,op_havoc,rep_4} | 0 ...oc,rep:4 => id_000271,src_000169,op_havoc,rep_4} | 0 ... => id_000272,src_000175,op_arith8,pos_1,val_+3} | 0 ...oc,rep:2 => id_000275,src_000175,op_havoc,rep_2} | 0 ...oc,rep:2 => id_000277,src_000175,op_havoc,rep_2} | 0 ...oc,rep:2 => id_000280,src_000175,op_havoc,rep_2} | 0 ...p1,pos:1 => id_000281,src_000181,op_flip1,pos_1} | 0 ...p2,pos:9 => id_000283,src_000187,op_flip2,pos_9} | 0 ...oc,rep:4 => id_000284,src_000187,op_havoc,rep_4} | 0 ...p2,pos:3 => id_000286,src_000188,op_flip2,pos_3} | 0 ...cov => id_000287,src_000188,op_havoc,rep_4,+cov} | 0 ...cov => id_000288,src_000188,op_havoc,rep_2,+cov} | 0 ...cov => id_000290,src_000213,op_flip1,pos_3,+cov} | 0 ...p1,pos:4 => id_000291,src_000213,op_flip1,pos_4} | 0 ...oc,rep:2 => id_000305,src_000213,op_havoc,rep_2} | 0 ...oc,rep:2 => id_000307,src_000213,op_havoc,rep_2} | 0 ...oc,rep:4 => id_000309,src_000213,op_havoc,rep_4} | 0 ...oc,rep:2 => id_000310,src_000213,op_havoc,rep_2} | 0 ...=> id_000316,src_000225,op_arith8,pos_9,val_-35} | 0 ...,pos:18 => id_000318,src_000231,op_flip1,pos_18} | 0 ...oc,rep:2 => id_000319,src_000231,op_havoc,rep_2} | 0 ...oc,rep:2 => id_000321,src_000231,op_havoc,rep_2} | 0 ...oc,rep:2 => id_000322,src_000231,op_havoc,rep_2} | 0 ...=> id_000323,src_000233,op_arith8,pos_8,val_-21} | 0 ...oc,rep:4 => id_000324,src_000233,op_havoc,rep_4} | 0 ...,rep:32 => id_000325,src_000233,op_havoc,rep_32} | 0 ...p1,pos:3 => id_000326,src_000234,op_flip1,pos_3} | 0 ...p2,pos:7 => id_000327,src_000234,op_flip2,pos_7} | 0 ...cov => id_000328,src_000236,op_flip1,pos_3,+cov} | 0 ...oc,rep:2 => id_000329,src_000236,op_havoc,rep_2} | 0 ...oc,rep:4 => id_000330,src_000240,op_havoc,rep_4} | 0 ...oc,rep:4 => id_000331,src_000240,op_havoc,rep_4} | 0 ...oc,rep:8 => id_000332,src_000243,op_havoc,rep_8} | 0 ...oc,rep:2 => id_000333,src_000243,op_havoc,rep_2} | 0 ...oc,rep:2 => id_000334,src_000243,op_havoc,rep_2} | 0 ...oc,rep:2 => id_000335,src_000243,op_havoc,rep_2} | 0 ...oc,rep:2 => id_000336,src_000243,op_havoc,rep_2} | 0 ...,pos:14 => id_000337,src_000246,op_flip4,pos_14} | 0 ...=> id_000338,src_000260,op_arith8,pos_17,val_+9} | 0 ...oc,rep:2 => id_000340,src_000260,op_havoc,rep_2} | 0 ...oc,rep:2 => id_000341,src_000260,op_havoc,rep_2} | 0 ...oc,rep:4 => id_000342,src_000260,op_havoc,rep_4} | 0 ...,pos:13 => id_000346,src_000267,op_flip4,pos_13} | 0 ...oc,rep:2 => id_000353,src_000275,op_havoc,rep_2} | 0 ...oc,rep:8 => id_000354,src_000275,op_havoc,rep_8} | 0 ...> id_000355,src_000293,op_arith8,pos_14,val_-21} | 0 ...oc,rep:4 => id_000356,src_000293,op_havoc,rep_4} | 0 ...p1,pos:8 => id_000359,src_000337,op_flip1,pos_8} | 0 ...> id_000361,src_000355,op_arith8,pos_16,val_+18} | 0 ...oc,rep:4 => id_000364,src_000360,op_havoc,rep_4} | 0 ...oc,rep:4 => id_000365,src_000129,op_havoc,rep_4} | 0 ...oc,rep:4 => id_000366,src_000143,op_havoc,rep_4} | 0 ...oc,rep:2 => id_000367,src_000150,op_havoc,rep_2} | 0 ...,pos:13 => id_000370,src_000185,op_flip2,pos_13} | 0 ...oc,rep:4 => id_000371,src_000199,op_havoc,rep_4} | 0 ...oc,rep:2 => id_000372,src_000210,op_havoc,rep_2} | 0 ...oc,rep:2 => id_000373,src_000210,op_havoc,rep_2} | 0 ...> id_000374,src_000212,op_arith8,pos_15,val_-35} | 0 ...oc,rep:4 => id_000375,src_000212,op_havoc,rep_4} | 0 ...,pos:14 => id_000378,src_000244,op_flip1,pos_14} | 0 ...p2,pos:1 => id_000379,src_000244,op_flip2,pos_1} | Bin ...oc,rep:2 => id_000380,src_000244,op_havoc,rep_2} | 0 ...,rep:16 => id_000381,src_000244,op_havoc,rep_16} | 0 ...oc,rep:2 => id_000382,src_000244,op_havoc,rep_2} | 0 ...oc,rep:4 => id_000384,src_000277,op_havoc,rep_4} | 0 ...oc,rep:4 => id_000388,src_000309,op_havoc,rep_4} | 0 ...> id_000389,src_000325,op_arith8,pos_16,val_-21} | 0 ...p2,pos:1 => id_000390,src_000332,op_flip2,pos_1} | 0 ...,pos:18 => id_000392,src_000391,op_flip1,pos_18} | 0 ...oc,rep:2 => id_000393,src_000142,op_havoc,rep_2} | 0 ...oc,rep:8 => id_000397,src_000329,op_havoc,rep_8} | 0 ...p2,pos:1 => id_000398,src_000333,op_flip2,pos_1} | 0 ...oc,rep:2 => id_000399,src_000333,op_havoc,rep_2} | 0 ...oc,rep:2 => id_000401,src_000345,op_havoc,rep_2} | 0 ...,pos:13 => id_000407,src_000405,op_flip2,pos_13} | 0 ...,pos:11 => id_000408,src_000405,op_flip4,pos_11} | 0 ...oc,rep:2 => id_000411,src_000405,op_havoc,rep_2} | 0 ...oc,rep:4 => id_000412,src_000405,op_havoc,rep_4} | 0 ...oc,rep:2 => id_000413,src_000405,op_havoc,rep_2} | 0 ...oc,rep:4 => id_000416,src_000227,op_havoc,rep_4} | 0 ...p1,pos:8 => id_000417,src_000361,op_flip1,pos_8} | 0 ...oc,rep:2 => id_000418,src_000389,op_havoc,rep_2} | 0 ...oc,rep:2 => id_000419,src_000389,op_havoc,rep_2} | 0 ...oc,rep:4 => id_000420,src_000389,op_havoc,rep_4} | 0 ...oc,rep:2 => id_000421,src_000393,op_havoc,rep_2} | 0 ...p1,pos:1 => id_000422,src_000403,op_flip1,pos_1} | 0 ...oc,rep:4 => id_000425,src_000404,op_havoc,rep_4} | 0 ...oc,rep:2 => id_000426,src_000416,op_havoc,rep_2} | 0 ...,pos:12 => id_000427,src_000419,op_flip4,pos_12} | 0 ...,pos:25 => id_000428,src_000427,op_flip1,pos_25} | 0 ...,pos:33 => id_000429,src_000427,op_flip1,pos_33} | 0 ...,pos:10 => id_000431,src_000382,op_flip4,pos_10} | 0 ...,pos:12 => id_000432,src_000382,op_flip4,pos_12} | 0 ...,pos:38 => id_000433,src_000387,op_flip2,pos_38} | 0 ...oc,rep:4 => id_000434,src_000387,op_havoc,rep_4} | 0 ...oc,rep:4 => id_000438,src_000387,op_havoc,rep_4} | 0 ...oc,rep:2 => id_000439,src_000417,op_havoc,rep_2} | 0 ...oc,rep:8 => id_000440,src_000230,op_havoc,rep_8} | 0 ...oc,rep:4 => id_000441,src_000307,op_havoc,rep_4} | 0 ...oc,rep:2 => id_000442,src_000398,op_havoc,rep_2} | 0 ...oc,rep:2 => id_000443,src_000421,op_havoc,rep_2} | 0 ...oc,rep:2 => id_000444,src_000341,op_havoc,rep_2} | 0 ...p1,pos:5 => id_000445,src_000388,op_flip1,pos_5} | 0 ...,pos:16 => id_000446,src_000388,op_flip4,pos_16} | 0 ...oc,rep:4 => id_000447,src_000392,op_havoc,rep_4} | 0 ...p1,pos:8 => id_000450,src_000439,op_flip1,pos_8} | 0 ...,rep:16 => id_000456,src_000443,op_havoc,rep_16} | 0 ...oc,rep:2 => id_000459,src_000451,op_havoc,rep_2} | 0 ...oc,rep:2 => id_000463,src_000455,op_havoc,rep_2} | 0 ...oc,rep:4 => id_000465,src_000460,op_havoc,rep_4} | 0 ...oc,rep:2 => id_000468,src_000461,op_havoc,rep_2} | 0 ... => id_000470,src_000175+000464,op_splice,rep_2} | 0 ... => id_000471,src_000294+000470,op_splice,rep_2} | 0 ... => id_000484,src_000194+000455,op_splice,rep_4} | 0 ...=> id_000485,src_000422+000478,op_splice,rep_32} | 0 ...=> id_000488,src_000027+000468,op_splice,rep_16} | 0 ...oc,rep:4 => id_000491,src_000489,op_havoc,rep_4} | 0 ...p4,pos:8 => id_000492,src_000491,op_flip4,pos_8} | 0 ...=> id_000493,src_000140+000488,op_splice,rep_16} | 0 ... => id_000494,src_000187+000482,op_splice,rep_4} | 0 ...oc,rep:2 => id_000495,src_000212,op_havoc,rep_2} | 0 ... => id_000496,src_000215+000433,op_splice,rep_8} | 0 ...oc,rep:8 => id_000497,src_000486,op_havoc,rep_8} | 0 ... => id_000499,src_000309+000057,op_splice,rep_8} | 0 ...oc,rep:2 => id_000500,src_000313,op_havoc,rep_2} | 0 ...,rep:64 => id_000501,src_000351,op_havoc,rep_64} | Bin ...oc,rep:4 => id_000502,src_000355,op_havoc,rep_4} | 0 ...,rep:64 => id_000503,src_000360,op_havoc,rep_64} | 0 ...oc,rep:8 => id_000504,src_000363,op_havoc,rep_8} | 0 ...=> id_000505,src_000363+000471,op_splice,rep_16} | 0 ... => id_000506,src_000363+000486,op_splice,rep_4} | 0 ...oc,rep:8 => id_000507,src_000383,op_havoc,rep_8} | 0 ...=> id_000508,src_000408+000360,op_splice,rep_32} | 0 ...,rep:16 => id_000509,src_000436,op_havoc,rep_16} | 0 ...=> id_000510,src_000436+000472,op_splice,rep_32} | 0 ...oc,rep:2 => id_000511,src_000468,op_havoc,rep_2} | 0 ...,rep:32 => id_000512,src_000468,op_havoc,rep_32} | Bin ...,rep:64 => id_000513,src_000480,op_havoc,rep_64} | 0 ...,rep:64 => id_000515,src_000480,op_havoc,rep_64} | 0 ...oc,rep:2 => id_000516,src_000480,op_havoc,rep_2} | 0 ...p1,pos:4 => id_000517,src_000499,op_flip1,pos_4} | 0 ...,rep:32 => id_000518,src_000503,op_havoc,rep_32} | 0 ...p4,pos:8 => id_000519,src_000511,op_flip4,pos_8} | 0 ...oc,rep:4 => id_000520,src_000511,op_havoc,rep_4} | 0 ...oc,rep:4 => id_000521,src_000511,op_havoc,rep_4} | 0 ...oc,rep:4 => id_000522,src_000511,op_havoc,rep_4} | 0 ...oc,rep:4 => id_000523,src_000511,op_havoc,rep_4} | 0 ...=> id_000524,src_000511+000362,op_splice,rep_32} | 0 ...oc,rep:4 => id_000526,src_000519,op_havoc,rep_4} | 0 ...p4,pos:4 => id_000527,src_000523,op_flip4,pos_4} | 0 ... => id_000528,src_000064+000333,op_splice,rep_4} | 0 ...=> id_000529,src_000109+000362,op_splice,rep_64} | 0 ... => id_000530,src_000120+000528,op_splice,rep_4} | 0 ...=> id_000532,src_000163+000505,op_splice,rep_64} | 0 ... => id_000533,src_000223+000521,op_splice,rep_2} | 0 ... => id_000534,src_000315+000528,op_splice,rep_2} | 0 ...cov => id_000535,src_000510,op_havoc,rep_8,+cov} | 0 ...> id_000536,src_000130+000241,op_splice,rep_128} | 0 ... => id_000537,src_000134+000501,op_splice,rep_4} | 0 ... => id_000538,src_000136+000529,op_splice,rep_8} | 0 ...d_000539,src_000258+000434,op_splice,rep_4,+cov} | 0 ... => id_000540,src_000258+000434,op_splice,rep_4} | 0 ... => id_000541,src_000154+000507,op_splice,rep_2} | 0 ...=> id_000542,src_000368+000513,op_splice,rep_16} | 0 ...os:346 => id_000543,src_000516,op_flip1,pos_346} | 0 fuzz-afl/minimize.sh | 4 ++++ 290 files changed, 4 insertions(+) rename fuzz-afl/in/pnm/{id:000004,sig:06,src:000187,op:havoc,rep:4 => id_000004,sig_06,src_000187,op_havoc,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000011,src:000000,op:flip1,pos:3,+cov => id_000011,src_000000,op_flip1,pos_3,+cov} (100%) rename fuzz-afl/in/pnm/{id:000012,src:000000,op:flip1,pos:4 => id_000012,src_000000,op_flip1,pos_4} (100%) rename fuzz-afl/in/pnm/{id:000013,src:000000,op:flip1,pos:4 => id_000013,src_000000,op_flip1,pos_4} (100%) rename fuzz-afl/in/pnm/{id:000016,src:000000,op:flip1,pos:7 => id_000016,src_000000,op_flip1,pos_7} (100%) rename fuzz-afl/in/pnm/{id:000022,src:000000,op:flip2,pos:5,+cov => id_000022,src_000000,op_flip2,pos_5,+cov} (100%) rename fuzz-afl/in/pnm/{id:000024,src:000000,op:flip4,pos:1,+cov => id_000024,src_000000,op_flip4,pos_1,+cov} (100%) rename fuzz-afl/in/pnm/{id:000025,src:000000,op:flip4,pos:2,+cov => id_000025,src_000000,op_flip4,pos_2,+cov} (100%) rename fuzz-afl/in/pnm/{id:000026,src:000000,op:arith8,pos:1,val:-3,+cov => id_000026,src_000000,op_arith8,pos_1,val_-3,+cov} (100%) rename fuzz-afl/in/pnm/{id:000028,src:000000,op:arith8,pos:6,val:-14 => id_000028,src_000000,op_arith8,pos_6,val_-14} (100%) rename fuzz-afl/in/pnm/{id:000029,src:000000,op:arith8,pos:7,val:-13 => id_000029,src_000000,op_arith8,pos_7,val_-13} (100%) rename fuzz-afl/in/pnm/{id:000032,src:000000,op:int32,pos:3,val:+32 => id_000032,src_000000,op_int32,pos_3,val_+32} (100%) rename fuzz-afl/in/pnm/{id:000035,src:000000,op:havoc,rep:16 => id_000035,src_000000,op_havoc,rep_16} (100%) rename fuzz-afl/in/pnm/{id:000037,src:000000,op:havoc,rep:64,+cov => id_000037,src_000000,op_havoc,rep_64,+cov} (100%) rename fuzz-afl/in/pnm/{id:000038,src:000000,op:havoc,rep:2 => id_000038,src_000000,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000041,src:000000,op:havoc,rep:16 => id_000041,src_000000,op_havoc,rep_16} (100%) rename fuzz-afl/in/pnm/{id:000044,src:000000,op:havoc,rep:16 => id_000044,src_000000,op_havoc,rep_16} (100%) rename fuzz-afl/in/pnm/{id:000045,src:000000,op:havoc,rep:2,+cov => id_000045,src_000000,op_havoc,rep_2,+cov} (100%) rename fuzz-afl/in/pnm/{id:000048,src:000000,op:havoc,rep:8 => id_000048,src_000000,op_havoc,rep_8} (100%) rename fuzz-afl/in/pnm/{id:000051,src:000000,op:havoc,rep:4 => id_000051,src_000000,op_havoc,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000053,src:000000,op:havoc,rep:2 => id_000053,src_000000,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000054,src:000000,op:havoc,rep:16 => id_000054,src_000000,op_havoc,rep_16} (100%) rename fuzz-afl/in/pnm/{id:000057,src:000000,op:havoc,rep:2 => id_000057,src_000000,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000059,src:000000,op:havoc,rep:32 => id_000059,src_000000,op_havoc,rep_32} (100%) rename fuzz-afl/in/pnm/{id:000061,src:000000,op:havoc,rep:2 => id_000061,src_000000,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000063,src:000000,op:havoc,rep:8 => id_000063,src_000000,op_havoc,rep_8} (100%) rename fuzz-afl/in/pnm/{id:000065,src:000000,op:havoc,rep:8,+cov => id_000065,src_000000,op_havoc,rep_8,+cov} (100%) rename fuzz-afl/in/pnm/{id:000071,src:000000,op:havoc,rep:2 => id_000071,src_000000,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000072,src:000000,op:havoc,rep:2 => id_000072,src_000000,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000075,src:000000,op:havoc,rep:16 => id_000075,src_000000,op_havoc,rep_16} (100%) rename fuzz-afl/in/pnm/{id:000078,src:000003,op:havoc,rep:2,+cov => id_000078,src_000003,op_havoc,rep_2,+cov} (100%) rename fuzz-afl/in/pnm/{id:000081,src:000007,op:havoc,rep:8 => id_000081,src_000007,op_havoc,rep_8} (100%) rename fuzz-afl/in/pnm/{id:000090,src:000017,op:havoc,rep:2 => id_000090,src_000017,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000093,src:000017,op:havoc,rep:2 => id_000093,src_000017,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000105,src:000017,op:havoc,rep:16,+cov => id_000105,src_000017,op_havoc,rep_16,+cov} (100%) rename fuzz-afl/in/pnm/{id:000106,src:000017,op:havoc,rep:2 => id_000106,src_000017,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000109,src:000017,op:havoc,rep:8,+cov => id_000109,src_000017,op_havoc,rep_8,+cov} (100%) rename fuzz-afl/in/pnm/{id:000111,src:000017,op:havoc,rep:32 => id_000111,src_000017,op_havoc,rep_32} (100%) rename fuzz-afl/in/pnm/{id:000113,src:000017,op:havoc,rep:4 => id_000113,src_000017,op_havoc,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000115,src:000017,op:havoc,rep:4,+cov => id_000115,src_000017,op_havoc,rep_4,+cov} (100%) rename fuzz-afl/in/pnm/{id:000118,src:000020,op:flip2,pos:8 => id_000118,src_000020,op_flip2,pos_8} (100%) rename fuzz-afl/in/pnm/{id:000119,src:000026,op:flip1,pos:7 => id_000119,src_000026,op_flip1,pos_7} (100%) rename fuzz-afl/in/pnm/{id:000120,src:000026,op:arith8,pos:8,val:+25,+cov => id_000120,src_000026,op_arith8,pos_8,val_+25,+cov} (100%) rename fuzz-afl/in/pnm/{id:000121,src:000052,op:havoc,rep:4,+cov => id_000121,src_000052,op_havoc,rep_4,+cov} (100%) rename fuzz-afl/in/pnm/{id:000124,src:000052,op:havoc,rep:4,+cov => id_000124,src_000052,op_havoc,rep_4,+cov} (100%) rename fuzz-afl/in/pnm/{id:000127,src:000063,op:flip1,pos:5 => id_000127,src_000063,op_flip1,pos_5} (100%) rename fuzz-afl/in/pnm/{id:000130,src:000065,op:flip4,pos:11,+cov => id_000130,src_000065,op_flip4,pos_11,+cov} (100%) rename fuzz-afl/in/pnm/{id:000135,src:000070,op:flip2,pos:10,+cov => id_000135,src_000070,op_flip2,pos_10,+cov} (100%) rename fuzz-afl/in/pnm/{id:000137,src:000070,op:flip4,pos:8,+cov => id_000137,src_000070,op_flip4,pos_8,+cov} (100%) rename fuzz-afl/in/pnm/{id:000143,src:000070,op:havoc,rep:2 => id_000143,src_000070,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000144,src:000070,op:havoc,rep:4 => id_000144,src_000070,op_havoc,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000145,src:000070,op:havoc,rep:2 => id_000145,src_000070,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000146,src:000070,op:havoc,rep:2 => id_000146,src_000070,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000147,src:000070,op:havoc,rep:2 => id_000147,src_000070,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000148,src:000070,op:havoc,rep:2 => id_000148,src_000070,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000152,src:000070,op:havoc,rep:2 => id_000152,src_000070,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000153,src:000070,op:havoc,rep:16 => id_000153,src_000070,op_havoc,rep_16} (100%) rename fuzz-afl/in/pnm/{id:000154,src:000070,op:havoc,rep:2 => id_000154,src_000070,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000156,src:000070,op:havoc,rep:4 => id_000156,src_000070,op_havoc,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000157,src:000070,op:havoc,rep:32 => id_000157,src_000070,op_havoc,rep_32} (100%) rename fuzz-afl/in/pnm/{id:000158,src:000078,op:flip1,pos:3,+cov => id_000158,src_000078,op_flip1,pos_3,+cov} (100%) rename fuzz-afl/in/pnm/{id:000159,src:000078,op:flip1,pos:6,+cov => id_000159,src_000078,op_flip1,pos_6,+cov} (100%) rename fuzz-afl/in/pnm/{id:000161,src:000078,op:havoc,rep:2 => id_000161,src_000078,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000162,src:000079,op:arith8,pos:5,val:-21 => id_000162,src_000079,op_arith8,pos_5,val_-21} (100%) rename fuzz-afl/in/pnm/{id:000163,src:000079,op:havoc,rep:2 => id_000163,src_000079,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000164,src:000084,op:flip2,pos:11,+cov => id_000164,src_000084,op_flip2,pos_11,+cov} (100%) rename fuzz-afl/in/pnm/{id:000166,src:000084,op:arith8,pos:10,val:+25,+cov => id_000166,src_000084,op_arith8,pos_10,val_+25,+cov} (100%) rename fuzz-afl/in/pnm/{id:000168,src:000084,op:arith8,pos:11,val:+11,+cov => id_000168,src_000084,op_arith8,pos_11,val_+11,+cov} (100%) rename fuzz-afl/in/pnm/{id:000169,src:000084,op:arith8,pos:11,val:+13,+cov => id_000169,src_000084,op_arith8,pos_11,val_+13,+cov} (100%) rename fuzz-afl/in/pnm/{id:000171,src:000084,op:int8,pos:12,val:+32 => id_000171,src_000084,op_int8,pos_12,val_+32} (100%) rename fuzz-afl/in/pnm/{id:000176,src:000084,op:havoc,rep:4 => id_000176,src_000084,op_havoc,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000177,src:000084,op:havoc,rep:4 => id_000177,src_000084,op_havoc,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000178,src:000084,op:havoc,rep:4,+cov => id_000178,src_000084,op_havoc,rep_4,+cov} (100%) rename fuzz-afl/in/pnm/{id:000180,src:000084,op:havoc,rep:2 => id_000180,src_000084,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000181,src:000084,op:havoc,rep:2 => id_000181,src_000084,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000183,src:000084,op:havoc,rep:2,+cov => id_000183,src_000084,op_havoc,rep_2,+cov} (100%) rename fuzz-afl/in/pnm/{id:000188,src:000087,op:flip4,pos:7,+cov => id_000188,src_000087,op_flip4,pos_7,+cov} (100%) rename fuzz-afl/in/pnm/{id:000189,src:000087,op:arith8,pos:3,val:-19,+cov => id_000189,src_000087,op_arith8,pos_3,val_-19,+cov} (100%) rename fuzz-afl/in/pnm/{id:000190,src:000087,op:arith8,pos:3,val:-21,+cov => id_000190,src_000087,op_arith8,pos_3,val_-21,+cov} (100%) rename fuzz-afl/in/pnm/{id:000192,src:000087,op:int32,pos:3,val:+0 => id_000192,src_000087,op_int32,pos_3,val_+0} (100%) rename fuzz-afl/in/pnm/{id:000193,src:000087,op:int32,pos:7,val:+0 => id_000193,src_000087,op_int32,pos_7,val_+0} (100%) rename fuzz-afl/in/pnm/{id:000194,src:000087,op:havoc,rep:2 => id_000194,src_000087,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000196,src:000094,op:flip16,pos:19 => id_000196,src_000094,op_flip16,pos_19} (100%) rename fuzz-afl/in/pnm/{id:000200,src:000108,op:havoc,rep:8 => id_000200,src_000108,op_havoc,rep_8} (100%) rename fuzz-afl/in/pnm/{id:000201,src:000108,op:havoc,rep:8 => id_000201,src_000108,op_havoc,rep_8} (100%) rename fuzz-afl/in/pnm/{id:000202,src:000109,op:havoc,rep:2 => id_000202,src_000109,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000203,src:000110,op:flip1,pos:3 => id_000203,src_000110,op_flip1,pos_3} (100%) rename fuzz-afl/in/pnm/{id:000204,src:000114,op:havoc,rep:4 => id_000204,src_000114,op_havoc,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000206,src:000114,op:havoc,rep:4,+cov => id_000206,src_000114,op_havoc,rep_4,+cov} (100%) rename fuzz-afl/in/pnm/{id:000208,src:000114,op:havoc,rep:4 => id_000208,src_000114,op_havoc,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000209,src:000114,op:havoc,rep:4 => id_000209,src_000114,op_havoc,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000212,src:000114,op:havoc,rep:2 => id_000212,src_000114,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000214,src:000114,op:havoc,rep:4 => id_000214,src_000114,op_havoc,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000217,src:000114,op:havoc,rep:16 => id_000217,src_000114,op_havoc,rep_16} (100%) rename fuzz-afl/in/pnm/{id:000220,src:000120,op:havoc,rep:16 => id_000220,src_000120,op_havoc,rep_16} (100%) rename fuzz-afl/in/pnm/{id:000221,src:000125,op:havoc,rep:8,+cov => id_000221,src_000125,op_havoc,rep_8,+cov} (100%) rename fuzz-afl/in/pnm/{id:000222,src:000130,op:arith8,pos:1,val:-3 => id_000222,src_000130,op_arith8,pos_1,val_-3} (100%) rename fuzz-afl/in/pnm/{id:000223,src:000135,op:flip4,pos:9 => id_000223,src_000135,op_flip4,pos_9} (100%) rename fuzz-afl/in/pnm/{id:000224,src:000136,op:havoc,rep:4 => id_000224,src_000136,op_havoc,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000225,src:000137,op:flip4,pos:10 => id_000225,src_000137,op_flip4,pos_10} (100%) rename fuzz-afl/in/pnm/{id:000227,src:000151,op:havoc,rep:4 => id_000227,src_000151,op_havoc,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000229,src:000151,op:havoc,rep:16 => id_000229,src_000151,op_havoc,rep_16} (100%) rename fuzz-afl/in/pnm/{id:000230,src:000151,op:havoc,rep:4 => id_000230,src_000151,op_havoc,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000232,src:000151,op:havoc,rep:16 => id_000232,src_000151,op_havoc,rep_16} (100%) rename fuzz-afl/in/pnm/{id:000233,src:000151,op:havoc,rep:2 => id_000233,src_000151,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000234,src:000159,op:flip2,pos:1,+cov => id_000234,src_000159,op_flip2,pos_1,+cov} (100%) rename fuzz-afl/in/pnm/{id:000235,src:000159,op:flip2,pos:3 => id_000235,src_000159,op_flip2,pos_3} (100%) rename fuzz-afl/in/pnm/{id:000236,src:000159,op:flip2,pos:7,+cov => id_000236,src_000159,op_flip2,pos_7,+cov} (100%) rename fuzz-afl/in/pnm/{id:000238,src:000159,op:havoc,rep:32 => id_000238,src_000159,op_havoc,rep_32} (100%) rename fuzz-afl/in/pnm/{id:000240,src:000159,op:havoc,rep:2,+cov => id_000240,src_000159,op_havoc,rep_2,+cov} (100%) rename fuzz-afl/in/pnm/{id:000241,src:000159,op:havoc,rep:2 => id_000241,src_000159,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000242,src:000159,op:havoc,rep:2,+cov => id_000242,src_000159,op_havoc,rep_2,+cov} (100%) rename fuzz-afl/in/pnm/{id:000245,src:000164,op:havoc,rep:4 => id_000245,src_000164,op_havoc,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000247,src:000164,op:havoc,rep:4 => id_000247,src_000164,op_havoc,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000249,src:000164,op:havoc,rep:2 => id_000249,src_000164,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000250,src:000164,op:havoc,rep:16 => id_000250,src_000164,op_havoc,rep_16} (100%) rename fuzz-afl/in/pnm/{id:000252,src:000164,op:havoc,rep:2,+cov => id_000252,src_000164,op_havoc,rep_2,+cov} (100%) rename fuzz-afl/in/pnm/{id:000253,src:000167,op:havoc,rep:16 => id_000253,src_000167,op_havoc,rep_16} (100%) rename fuzz-afl/in/pnm/{id:000256,src:000167,op:havoc,rep:4 => id_000256,src_000167,op_havoc,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000257,src:000167,op:havoc,rep:2 => id_000257,src_000167,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000261,src:000168,op:havoc,rep:4,+cov => id_000261,src_000168,op_havoc,rep_4,+cov} (100%) rename fuzz-afl/in/pnm/{id:000262,src:000168,op:havoc,rep:16 => id_000262,src_000168,op_havoc,rep_16} (100%) rename fuzz-afl/in/pnm/{id:000264,src:000169,op:havoc,rep:8 => id_000264,src_000169,op_havoc,rep_8} (100%) rename fuzz-afl/in/pnm/{id:000268,src:000169,op:havoc,rep:2 => id_000268,src_000169,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000269,src:000169,op:havoc,rep:4 => id_000269,src_000169,op_havoc,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000271,src:000169,op:havoc,rep:4 => id_000271,src_000169,op_havoc,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000272,src:000175,op:arith8,pos:1,val:+3 => id_000272,src_000175,op_arith8,pos_1,val_+3} (100%) rename fuzz-afl/in/pnm/{id:000275,src:000175,op:havoc,rep:2 => id_000275,src_000175,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000277,src:000175,op:havoc,rep:2 => id_000277,src_000175,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000280,src:000175,op:havoc,rep:2 => id_000280,src_000175,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000281,src:000181,op:flip1,pos:1 => id_000281,src_000181,op_flip1,pos_1} (100%) rename fuzz-afl/in/pnm/{id:000283,src:000187,op:flip2,pos:9 => id_000283,src_000187,op_flip2,pos_9} (100%) rename fuzz-afl/in/pnm/{id:000284,src:000187,op:havoc,rep:4 => id_000284,src_000187,op_havoc,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000286,src:000188,op:flip2,pos:3 => id_000286,src_000188,op_flip2,pos_3} (100%) rename fuzz-afl/in/pnm/{id:000287,src:000188,op:havoc,rep:4,+cov => id_000287,src_000188,op_havoc,rep_4,+cov} (100%) rename fuzz-afl/in/pnm/{id:000288,src:000188,op:havoc,rep:2,+cov => id_000288,src_000188,op_havoc,rep_2,+cov} (100%) rename fuzz-afl/in/pnm/{id:000290,src:000213,op:flip1,pos:3,+cov => id_000290,src_000213,op_flip1,pos_3,+cov} (100%) rename fuzz-afl/in/pnm/{id:000291,src:000213,op:flip1,pos:4 => id_000291,src_000213,op_flip1,pos_4} (100%) rename fuzz-afl/in/pnm/{id:000305,src:000213,op:havoc,rep:2 => id_000305,src_000213,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000307,src:000213,op:havoc,rep:2 => id_000307,src_000213,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000309,src:000213,op:havoc,rep:4 => id_000309,src_000213,op_havoc,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000310,src:000213,op:havoc,rep:2 => id_000310,src_000213,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000316,src:000225,op:arith8,pos:9,val:-35 => id_000316,src_000225,op_arith8,pos_9,val_-35} (100%) rename fuzz-afl/in/pnm/{id:000318,src:000231,op:flip1,pos:18 => id_000318,src_000231,op_flip1,pos_18} (100%) rename fuzz-afl/in/pnm/{id:000319,src:000231,op:havoc,rep:2 => id_000319,src_000231,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000321,src:000231,op:havoc,rep:2 => id_000321,src_000231,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000322,src:000231,op:havoc,rep:2 => id_000322,src_000231,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000323,src:000233,op:arith8,pos:8,val:-21 => id_000323,src_000233,op_arith8,pos_8,val_-21} (100%) rename fuzz-afl/in/pnm/{id:000324,src:000233,op:havoc,rep:4 => id_000324,src_000233,op_havoc,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000325,src:000233,op:havoc,rep:32 => id_000325,src_000233,op_havoc,rep_32} (100%) rename fuzz-afl/in/pnm/{id:000326,src:000234,op:flip1,pos:3 => id_000326,src_000234,op_flip1,pos_3} (100%) rename fuzz-afl/in/pnm/{id:000327,src:000234,op:flip2,pos:7 => id_000327,src_000234,op_flip2,pos_7} (100%) rename fuzz-afl/in/pnm/{id:000328,src:000236,op:flip1,pos:3,+cov => id_000328,src_000236,op_flip1,pos_3,+cov} (100%) rename fuzz-afl/in/pnm/{id:000329,src:000236,op:havoc,rep:2 => id_000329,src_000236,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000330,src:000240,op:havoc,rep:4 => id_000330,src_000240,op_havoc,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000331,src:000240,op:havoc,rep:4 => id_000331,src_000240,op_havoc,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000332,src:000243,op:havoc,rep:8 => id_000332,src_000243,op_havoc,rep_8} (100%) rename fuzz-afl/in/pnm/{id:000333,src:000243,op:havoc,rep:2 => id_000333,src_000243,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000334,src:000243,op:havoc,rep:2 => id_000334,src_000243,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000335,src:000243,op:havoc,rep:2 => id_000335,src_000243,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000336,src:000243,op:havoc,rep:2 => id_000336,src_000243,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000337,src:000246,op:flip4,pos:14 => id_000337,src_000246,op_flip4,pos_14} (100%) rename fuzz-afl/in/pnm/{id:000338,src:000260,op:arith8,pos:17,val:+9 => id_000338,src_000260,op_arith8,pos_17,val_+9} (100%) rename fuzz-afl/in/pnm/{id:000340,src:000260,op:havoc,rep:2 => id_000340,src_000260,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000341,src:000260,op:havoc,rep:2 => id_000341,src_000260,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000342,src:000260,op:havoc,rep:4 => id_000342,src_000260,op_havoc,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000346,src:000267,op:flip4,pos:13 => id_000346,src_000267,op_flip4,pos_13} (100%) rename fuzz-afl/in/pnm/{id:000353,src:000275,op:havoc,rep:2 => id_000353,src_000275,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000354,src:000275,op:havoc,rep:8 => id_000354,src_000275,op_havoc,rep_8} (100%) rename fuzz-afl/in/pnm/{id:000355,src:000293,op:arith8,pos:14,val:-21 => id_000355,src_000293,op_arith8,pos_14,val_-21} (100%) rename fuzz-afl/in/pnm/{id:000356,src:000293,op:havoc,rep:4 => id_000356,src_000293,op_havoc,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000359,src:000337,op:flip1,pos:8 => id_000359,src_000337,op_flip1,pos_8} (100%) rename fuzz-afl/in/pnm/{id:000361,src:000355,op:arith8,pos:16,val:+18 => id_000361,src_000355,op_arith8,pos_16,val_+18} (100%) rename fuzz-afl/in/pnm/{id:000364,src:000360,op:havoc,rep:4 => id_000364,src_000360,op_havoc,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000365,src:000129,op:havoc,rep:4 => id_000365,src_000129,op_havoc,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000366,src:000143,op:havoc,rep:4 => id_000366,src_000143,op_havoc,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000367,src:000150,op:havoc,rep:2 => id_000367,src_000150,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000370,src:000185,op:flip2,pos:13 => id_000370,src_000185,op_flip2,pos_13} (100%) rename fuzz-afl/in/pnm/{id:000371,src:000199,op:havoc,rep:4 => id_000371,src_000199,op_havoc,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000372,src:000210,op:havoc,rep:2 => id_000372,src_000210,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000373,src:000210,op:havoc,rep:2 => id_000373,src_000210,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000374,src:000212,op:arith8,pos:15,val:-35 => id_000374,src_000212,op_arith8,pos_15,val_-35} (100%) rename fuzz-afl/in/pnm/{id:000375,src:000212,op:havoc,rep:4 => id_000375,src_000212,op_havoc,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000378,src:000244,op:flip1,pos:14 => id_000378,src_000244,op_flip1,pos_14} (100%) rename fuzz-afl/in/pnm/{id:000379,src:000244,op:flip2,pos:1 => id_000379,src_000244,op_flip2,pos_1} (100%) rename fuzz-afl/in/pnm/{id:000380,src:000244,op:havoc,rep:2 => id_000380,src_000244,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000381,src:000244,op:havoc,rep:16 => id_000381,src_000244,op_havoc,rep_16} (100%) rename fuzz-afl/in/pnm/{id:000382,src:000244,op:havoc,rep:2 => id_000382,src_000244,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000384,src:000277,op:havoc,rep:4 => id_000384,src_000277,op_havoc,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000388,src:000309,op:havoc,rep:4 => id_000388,src_000309,op_havoc,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000389,src:000325,op:arith8,pos:16,val:-21 => id_000389,src_000325,op_arith8,pos_16,val_-21} (100%) rename fuzz-afl/in/pnm/{id:000390,src:000332,op:flip2,pos:1 => id_000390,src_000332,op_flip2,pos_1} (100%) rename fuzz-afl/in/pnm/{id:000392,src:000391,op:flip1,pos:18 => id_000392,src_000391,op_flip1,pos_18} (100%) rename fuzz-afl/in/pnm/{id:000393,src:000142,op:havoc,rep:2 => id_000393,src_000142,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000397,src:000329,op:havoc,rep:8 => id_000397,src_000329,op_havoc,rep_8} (100%) rename fuzz-afl/in/pnm/{id:000398,src:000333,op:flip2,pos:1 => id_000398,src_000333,op_flip2,pos_1} (100%) rename fuzz-afl/in/pnm/{id:000399,src:000333,op:havoc,rep:2 => id_000399,src_000333,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000401,src:000345,op:havoc,rep:2 => id_000401,src_000345,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000407,src:000405,op:flip2,pos:13 => id_000407,src_000405,op_flip2,pos_13} (100%) rename fuzz-afl/in/pnm/{id:000408,src:000405,op:flip4,pos:11 => id_000408,src_000405,op_flip4,pos_11} (100%) rename fuzz-afl/in/pnm/{id:000411,src:000405,op:havoc,rep:2 => id_000411,src_000405,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000412,src:000405,op:havoc,rep:4 => id_000412,src_000405,op_havoc,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000413,src:000405,op:havoc,rep:2 => id_000413,src_000405,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000416,src:000227,op:havoc,rep:4 => id_000416,src_000227,op_havoc,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000417,src:000361,op:flip1,pos:8 => id_000417,src_000361,op_flip1,pos_8} (100%) rename fuzz-afl/in/pnm/{id:000418,src:000389,op:havoc,rep:2 => id_000418,src_000389,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000419,src:000389,op:havoc,rep:2 => id_000419,src_000389,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000420,src:000389,op:havoc,rep:4 => id_000420,src_000389,op_havoc,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000421,src:000393,op:havoc,rep:2 => id_000421,src_000393,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000422,src:000403,op:flip1,pos:1 => id_000422,src_000403,op_flip1,pos_1} (100%) rename fuzz-afl/in/pnm/{id:000425,src:000404,op:havoc,rep:4 => id_000425,src_000404,op_havoc,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000426,src:000416,op:havoc,rep:2 => id_000426,src_000416,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000427,src:000419,op:flip4,pos:12 => id_000427,src_000419,op_flip4,pos_12} (100%) rename fuzz-afl/in/pnm/{id:000428,src:000427,op:flip1,pos:25 => id_000428,src_000427,op_flip1,pos_25} (100%) rename fuzz-afl/in/pnm/{id:000429,src:000427,op:flip1,pos:33 => id_000429,src_000427,op_flip1,pos_33} (100%) rename fuzz-afl/in/pnm/{id:000431,src:000382,op:flip4,pos:10 => id_000431,src_000382,op_flip4,pos_10} (100%) rename fuzz-afl/in/pnm/{id:000432,src:000382,op:flip4,pos:12 => id_000432,src_000382,op_flip4,pos_12} (100%) rename fuzz-afl/in/pnm/{id:000433,src:000387,op:flip2,pos:38 => id_000433,src_000387,op_flip2,pos_38} (100%) rename fuzz-afl/in/pnm/{id:000434,src:000387,op:havoc,rep:4 => id_000434,src_000387,op_havoc,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000438,src:000387,op:havoc,rep:4 => id_000438,src_000387,op_havoc,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000439,src:000417,op:havoc,rep:2 => id_000439,src_000417,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000440,src:000230,op:havoc,rep:8 => id_000440,src_000230,op_havoc,rep_8} (100%) rename fuzz-afl/in/pnm/{id:000441,src:000307,op:havoc,rep:4 => id_000441,src_000307,op_havoc,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000442,src:000398,op:havoc,rep:2 => id_000442,src_000398,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000443,src:000421,op:havoc,rep:2 => id_000443,src_000421,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000444,src:000341,op:havoc,rep:2 => id_000444,src_000341,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000445,src:000388,op:flip1,pos:5 => id_000445,src_000388,op_flip1,pos_5} (100%) rename fuzz-afl/in/pnm/{id:000446,src:000388,op:flip4,pos:16 => id_000446,src_000388,op_flip4,pos_16} (100%) rename fuzz-afl/in/pnm/{id:000447,src:000392,op:havoc,rep:4 => id_000447,src_000392,op_havoc,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000450,src:000439,op:flip1,pos:8 => id_000450,src_000439,op_flip1,pos_8} (100%) rename fuzz-afl/in/pnm/{id:000456,src:000443,op:havoc,rep:16 => id_000456,src_000443,op_havoc,rep_16} (100%) rename fuzz-afl/in/pnm/{id:000459,src:000451,op:havoc,rep:2 => id_000459,src_000451,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000463,src:000455,op:havoc,rep:2 => id_000463,src_000455,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000465,src:000460,op:havoc,rep:4 => id_000465,src_000460,op_havoc,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000468,src:000461,op:havoc,rep:2 => id_000468,src_000461,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000470,src:000175+000464,op:splice,rep:2 => id_000470,src_000175+000464,op_splice,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000471,src:000294+000470,op:splice,rep:2 => id_000471,src_000294+000470,op_splice,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000484,src:000194+000455,op:splice,rep:4 => id_000484,src_000194+000455,op_splice,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000485,src:000422+000478,op:splice,rep:32 => id_000485,src_000422+000478,op_splice,rep_32} (100%) rename fuzz-afl/in/pnm/{id:000488,src:000027+000468,op:splice,rep:16 => id_000488,src_000027+000468,op_splice,rep_16} (100%) rename fuzz-afl/in/pnm/{id:000491,src:000489,op:havoc,rep:4 => id_000491,src_000489,op_havoc,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000492,src:000491,op:flip4,pos:8 => id_000492,src_000491,op_flip4,pos_8} (100%) rename fuzz-afl/in/pnm/{id:000493,src:000140+000488,op:splice,rep:16 => id_000493,src_000140+000488,op_splice,rep_16} (100%) rename fuzz-afl/in/pnm/{id:000494,src:000187+000482,op:splice,rep:4 => id_000494,src_000187+000482,op_splice,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000495,src:000212,op:havoc,rep:2 => id_000495,src_000212,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000496,src:000215+000433,op:splice,rep:8 => id_000496,src_000215+000433,op_splice,rep_8} (100%) rename fuzz-afl/in/pnm/{id:000497,src:000486,op:havoc,rep:8 => id_000497,src_000486,op_havoc,rep_8} (100%) rename fuzz-afl/in/pnm/{id:000499,src:000309+000057,op:splice,rep:8 => id_000499,src_000309+000057,op_splice,rep_8} (100%) rename fuzz-afl/in/pnm/{id:000500,src:000313,op:havoc,rep:2 => id_000500,src_000313,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000501,src:000351,op:havoc,rep:64 => id_000501,src_000351,op_havoc,rep_64} (100%) rename fuzz-afl/in/pnm/{id:000502,src:000355,op:havoc,rep:4 => id_000502,src_000355,op_havoc,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000503,src:000360,op:havoc,rep:64 => id_000503,src_000360,op_havoc,rep_64} (100%) rename fuzz-afl/in/pnm/{id:000504,src:000363,op:havoc,rep:8 => id_000504,src_000363,op_havoc,rep_8} (100%) rename fuzz-afl/in/pnm/{id:000505,src:000363+000471,op:splice,rep:16 => id_000505,src_000363+000471,op_splice,rep_16} (100%) rename fuzz-afl/in/pnm/{id:000506,src:000363+000486,op:splice,rep:4 => id_000506,src_000363+000486,op_splice,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000507,src:000383,op:havoc,rep:8 => id_000507,src_000383,op_havoc,rep_8} (100%) rename fuzz-afl/in/pnm/{id:000508,src:000408+000360,op:splice,rep:32 => id_000508,src_000408+000360,op_splice,rep_32} (100%) rename fuzz-afl/in/pnm/{id:000509,src:000436,op:havoc,rep:16 => id_000509,src_000436,op_havoc,rep_16} (100%) rename fuzz-afl/in/pnm/{id:000510,src:000436+000472,op:splice,rep:32 => id_000510,src_000436+000472,op_splice,rep_32} (100%) rename fuzz-afl/in/pnm/{id:000511,src:000468,op:havoc,rep:2 => id_000511,src_000468,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000512,src:000468,op:havoc,rep:32 => id_000512,src_000468,op_havoc,rep_32} (100%) rename fuzz-afl/in/pnm/{id:000513,src:000480,op:havoc,rep:64 => id_000513,src_000480,op_havoc,rep_64} (100%) rename fuzz-afl/in/pnm/{id:000515,src:000480,op:havoc,rep:64 => id_000515,src_000480,op_havoc,rep_64} (100%) rename fuzz-afl/in/pnm/{id:000516,src:000480,op:havoc,rep:2 => id_000516,src_000480,op_havoc,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000517,src:000499,op:flip1,pos:4 => id_000517,src_000499,op_flip1,pos_4} (100%) rename fuzz-afl/in/pnm/{id:000518,src:000503,op:havoc,rep:32 => id_000518,src_000503,op_havoc,rep_32} (100%) rename fuzz-afl/in/pnm/{id:000519,src:000511,op:flip4,pos:8 => id_000519,src_000511,op_flip4,pos_8} (100%) rename fuzz-afl/in/pnm/{id:000520,src:000511,op:havoc,rep:4 => id_000520,src_000511,op_havoc,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000521,src:000511,op:havoc,rep:4 => id_000521,src_000511,op_havoc,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000522,src:000511,op:havoc,rep:4 => id_000522,src_000511,op_havoc,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000523,src:000511,op:havoc,rep:4 => id_000523,src_000511,op_havoc,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000524,src:000511+000362,op:splice,rep:32 => id_000524,src_000511+000362,op_splice,rep_32} (100%) rename fuzz-afl/in/pnm/{id:000526,src:000519,op:havoc,rep:4 => id_000526,src_000519,op_havoc,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000527,src:000523,op:flip4,pos:4 => id_000527,src_000523,op_flip4,pos_4} (100%) rename fuzz-afl/in/pnm/{id:000528,src:000064+000333,op:splice,rep:4 => id_000528,src_000064+000333,op_splice,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000529,src:000109+000362,op:splice,rep:64 => id_000529,src_000109+000362,op_splice,rep_64} (100%) rename fuzz-afl/in/pnm/{id:000530,src:000120+000528,op:splice,rep:4 => id_000530,src_000120+000528,op_splice,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000532,src:000163+000505,op:splice,rep:64 => id_000532,src_000163+000505,op_splice,rep_64} (100%) rename fuzz-afl/in/pnm/{id:000533,src:000223+000521,op:splice,rep:2 => id_000533,src_000223+000521,op_splice,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000534,src:000315+000528,op:splice,rep:2 => id_000534,src_000315+000528,op_splice,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000535,src:000510,op:havoc,rep:8,+cov => id_000535,src_000510,op_havoc,rep_8,+cov} (100%) rename fuzz-afl/in/pnm/{id:000536,src:000130+000241,op:splice,rep:128 => id_000536,src_000130+000241,op_splice,rep_128} (100%) rename fuzz-afl/in/pnm/{id:000537,src:000134+000501,op:splice,rep:4 => id_000537,src_000134+000501,op_splice,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000538,src:000136+000529,op:splice,rep:8 => id_000538,src_000136+000529,op_splice,rep_8} (100%) rename fuzz-afl/in/pnm/{id:000539,src:000258+000434,op:splice,rep:4,+cov => id_000539,src_000258+000434,op_splice,rep_4,+cov} (100%) rename fuzz-afl/in/pnm/{id:000540,src:000258+000434,op:splice,rep:4 => id_000540,src_000258+000434,op_splice,rep_4} (100%) rename fuzz-afl/in/pnm/{id:000541,src:000154+000507,op:splice,rep:2 => id_000541,src_000154+000507,op_splice,rep_2} (100%) rename fuzz-afl/in/pnm/{id:000542,src:000368+000513,op:splice,rep:16 => id_000542,src_000368+000513,op_splice,rep_16} (100%) rename fuzz-afl/in/pnm/{id:000543,src:000516,op:flip1,pos:346 => id_000543,src_000516,op_flip1,pos_346} (100%) diff --git a/fuzz-afl/in/pnm/id:000004,sig:06,src:000187,op:havoc,rep:4 b/fuzz-afl/in/pnm/id_000004,sig_06,src_000187,op_havoc,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000004,sig:06,src:000187,op:havoc,rep:4 rename to fuzz-afl/in/pnm/id_000004,sig_06,src_000187,op_havoc,rep_4 diff --git a/fuzz-afl/in/pnm/id:000011,src:000000,op:flip1,pos:3,+cov b/fuzz-afl/in/pnm/id_000011,src_000000,op_flip1,pos_3,+cov similarity index 100% rename from fuzz-afl/in/pnm/id:000011,src:000000,op:flip1,pos:3,+cov rename to fuzz-afl/in/pnm/id_000011,src_000000,op_flip1,pos_3,+cov diff --git a/fuzz-afl/in/pnm/id:000012,src:000000,op:flip1,pos:4 b/fuzz-afl/in/pnm/id_000012,src_000000,op_flip1,pos_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000012,src:000000,op:flip1,pos:4 rename to fuzz-afl/in/pnm/id_000012,src_000000,op_flip1,pos_4 diff --git a/fuzz-afl/in/pnm/id:000013,src:000000,op:flip1,pos:4 b/fuzz-afl/in/pnm/id_000013,src_000000,op_flip1,pos_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000013,src:000000,op:flip1,pos:4 rename to fuzz-afl/in/pnm/id_000013,src_000000,op_flip1,pos_4 diff --git a/fuzz-afl/in/pnm/id:000016,src:000000,op:flip1,pos:7 b/fuzz-afl/in/pnm/id_000016,src_000000,op_flip1,pos_7 similarity index 100% rename from fuzz-afl/in/pnm/id:000016,src:000000,op:flip1,pos:7 rename to fuzz-afl/in/pnm/id_000016,src_000000,op_flip1,pos_7 diff --git a/fuzz-afl/in/pnm/id:000022,src:000000,op:flip2,pos:5,+cov b/fuzz-afl/in/pnm/id_000022,src_000000,op_flip2,pos_5,+cov similarity index 100% rename from fuzz-afl/in/pnm/id:000022,src:000000,op:flip2,pos:5,+cov rename to fuzz-afl/in/pnm/id_000022,src_000000,op_flip2,pos_5,+cov diff --git a/fuzz-afl/in/pnm/id:000024,src:000000,op:flip4,pos:1,+cov b/fuzz-afl/in/pnm/id_000024,src_000000,op_flip4,pos_1,+cov similarity index 100% rename from fuzz-afl/in/pnm/id:000024,src:000000,op:flip4,pos:1,+cov rename to fuzz-afl/in/pnm/id_000024,src_000000,op_flip4,pos_1,+cov diff --git a/fuzz-afl/in/pnm/id:000025,src:000000,op:flip4,pos:2,+cov b/fuzz-afl/in/pnm/id_000025,src_000000,op_flip4,pos_2,+cov similarity index 100% rename from fuzz-afl/in/pnm/id:000025,src:000000,op:flip4,pos:2,+cov rename to fuzz-afl/in/pnm/id_000025,src_000000,op_flip4,pos_2,+cov diff --git a/fuzz-afl/in/pnm/id:000026,src:000000,op:arith8,pos:1,val:-3,+cov b/fuzz-afl/in/pnm/id_000026,src_000000,op_arith8,pos_1,val_-3,+cov similarity index 100% rename from fuzz-afl/in/pnm/id:000026,src:000000,op:arith8,pos:1,val:-3,+cov rename to fuzz-afl/in/pnm/id_000026,src_000000,op_arith8,pos_1,val_-3,+cov diff --git a/fuzz-afl/in/pnm/id:000028,src:000000,op:arith8,pos:6,val:-14 b/fuzz-afl/in/pnm/id_000028,src_000000,op_arith8,pos_6,val_-14 similarity index 100% rename from fuzz-afl/in/pnm/id:000028,src:000000,op:arith8,pos:6,val:-14 rename to fuzz-afl/in/pnm/id_000028,src_000000,op_arith8,pos_6,val_-14 diff --git a/fuzz-afl/in/pnm/id:000029,src:000000,op:arith8,pos:7,val:-13 b/fuzz-afl/in/pnm/id_000029,src_000000,op_arith8,pos_7,val_-13 similarity index 100% rename from fuzz-afl/in/pnm/id:000029,src:000000,op:arith8,pos:7,val:-13 rename to fuzz-afl/in/pnm/id_000029,src_000000,op_arith8,pos_7,val_-13 diff --git a/fuzz-afl/in/pnm/id:000032,src:000000,op:int32,pos:3,val:+32 b/fuzz-afl/in/pnm/id_000032,src_000000,op_int32,pos_3,val_+32 similarity index 100% rename from fuzz-afl/in/pnm/id:000032,src:000000,op:int32,pos:3,val:+32 rename to fuzz-afl/in/pnm/id_000032,src_000000,op_int32,pos_3,val_+32 diff --git a/fuzz-afl/in/pnm/id:000035,src:000000,op:havoc,rep:16 b/fuzz-afl/in/pnm/id_000035,src_000000,op_havoc,rep_16 similarity index 100% rename from fuzz-afl/in/pnm/id:000035,src:000000,op:havoc,rep:16 rename to fuzz-afl/in/pnm/id_000035,src_000000,op_havoc,rep_16 diff --git a/fuzz-afl/in/pnm/id:000037,src:000000,op:havoc,rep:64,+cov b/fuzz-afl/in/pnm/id_000037,src_000000,op_havoc,rep_64,+cov similarity index 100% rename from fuzz-afl/in/pnm/id:000037,src:000000,op:havoc,rep:64,+cov rename to fuzz-afl/in/pnm/id_000037,src_000000,op_havoc,rep_64,+cov diff --git a/fuzz-afl/in/pnm/id:000038,src:000000,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000038,src_000000,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000038,src:000000,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000038,src_000000,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000041,src:000000,op:havoc,rep:16 b/fuzz-afl/in/pnm/id_000041,src_000000,op_havoc,rep_16 similarity index 100% rename from fuzz-afl/in/pnm/id:000041,src:000000,op:havoc,rep:16 rename to fuzz-afl/in/pnm/id_000041,src_000000,op_havoc,rep_16 diff --git a/fuzz-afl/in/pnm/id:000044,src:000000,op:havoc,rep:16 b/fuzz-afl/in/pnm/id_000044,src_000000,op_havoc,rep_16 similarity index 100% rename from fuzz-afl/in/pnm/id:000044,src:000000,op:havoc,rep:16 rename to fuzz-afl/in/pnm/id_000044,src_000000,op_havoc,rep_16 diff --git a/fuzz-afl/in/pnm/id:000045,src:000000,op:havoc,rep:2,+cov b/fuzz-afl/in/pnm/id_000045,src_000000,op_havoc,rep_2,+cov similarity index 100% rename from fuzz-afl/in/pnm/id:000045,src:000000,op:havoc,rep:2,+cov rename to fuzz-afl/in/pnm/id_000045,src_000000,op_havoc,rep_2,+cov diff --git a/fuzz-afl/in/pnm/id:000048,src:000000,op:havoc,rep:8 b/fuzz-afl/in/pnm/id_000048,src_000000,op_havoc,rep_8 similarity index 100% rename from fuzz-afl/in/pnm/id:000048,src:000000,op:havoc,rep:8 rename to fuzz-afl/in/pnm/id_000048,src_000000,op_havoc,rep_8 diff --git a/fuzz-afl/in/pnm/id:000051,src:000000,op:havoc,rep:4 b/fuzz-afl/in/pnm/id_000051,src_000000,op_havoc,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000051,src:000000,op:havoc,rep:4 rename to fuzz-afl/in/pnm/id_000051,src_000000,op_havoc,rep_4 diff --git a/fuzz-afl/in/pnm/id:000053,src:000000,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000053,src_000000,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000053,src:000000,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000053,src_000000,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000054,src:000000,op:havoc,rep:16 b/fuzz-afl/in/pnm/id_000054,src_000000,op_havoc,rep_16 similarity index 100% rename from fuzz-afl/in/pnm/id:000054,src:000000,op:havoc,rep:16 rename to fuzz-afl/in/pnm/id_000054,src_000000,op_havoc,rep_16 diff --git a/fuzz-afl/in/pnm/id:000057,src:000000,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000057,src_000000,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000057,src:000000,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000057,src_000000,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000059,src:000000,op:havoc,rep:32 b/fuzz-afl/in/pnm/id_000059,src_000000,op_havoc,rep_32 similarity index 100% rename from fuzz-afl/in/pnm/id:000059,src:000000,op:havoc,rep:32 rename to fuzz-afl/in/pnm/id_000059,src_000000,op_havoc,rep_32 diff --git a/fuzz-afl/in/pnm/id:000061,src:000000,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000061,src_000000,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000061,src:000000,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000061,src_000000,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000063,src:000000,op:havoc,rep:8 b/fuzz-afl/in/pnm/id_000063,src_000000,op_havoc,rep_8 similarity index 100% rename from fuzz-afl/in/pnm/id:000063,src:000000,op:havoc,rep:8 rename to fuzz-afl/in/pnm/id_000063,src_000000,op_havoc,rep_8 diff --git a/fuzz-afl/in/pnm/id:000065,src:000000,op:havoc,rep:8,+cov b/fuzz-afl/in/pnm/id_000065,src_000000,op_havoc,rep_8,+cov similarity index 100% rename from fuzz-afl/in/pnm/id:000065,src:000000,op:havoc,rep:8,+cov rename to fuzz-afl/in/pnm/id_000065,src_000000,op_havoc,rep_8,+cov diff --git a/fuzz-afl/in/pnm/id:000071,src:000000,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000071,src_000000,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000071,src:000000,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000071,src_000000,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000072,src:000000,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000072,src_000000,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000072,src:000000,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000072,src_000000,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000075,src:000000,op:havoc,rep:16 b/fuzz-afl/in/pnm/id_000075,src_000000,op_havoc,rep_16 similarity index 100% rename from fuzz-afl/in/pnm/id:000075,src:000000,op:havoc,rep:16 rename to fuzz-afl/in/pnm/id_000075,src_000000,op_havoc,rep_16 diff --git a/fuzz-afl/in/pnm/id:000078,src:000003,op:havoc,rep:2,+cov b/fuzz-afl/in/pnm/id_000078,src_000003,op_havoc,rep_2,+cov similarity index 100% rename from fuzz-afl/in/pnm/id:000078,src:000003,op:havoc,rep:2,+cov rename to fuzz-afl/in/pnm/id_000078,src_000003,op_havoc,rep_2,+cov diff --git a/fuzz-afl/in/pnm/id:000081,src:000007,op:havoc,rep:8 b/fuzz-afl/in/pnm/id_000081,src_000007,op_havoc,rep_8 similarity index 100% rename from fuzz-afl/in/pnm/id:000081,src:000007,op:havoc,rep:8 rename to fuzz-afl/in/pnm/id_000081,src_000007,op_havoc,rep_8 diff --git a/fuzz-afl/in/pnm/id:000090,src:000017,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000090,src_000017,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000090,src:000017,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000090,src_000017,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000093,src:000017,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000093,src_000017,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000093,src:000017,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000093,src_000017,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000105,src:000017,op:havoc,rep:16,+cov b/fuzz-afl/in/pnm/id_000105,src_000017,op_havoc,rep_16,+cov similarity index 100% rename from fuzz-afl/in/pnm/id:000105,src:000017,op:havoc,rep:16,+cov rename to fuzz-afl/in/pnm/id_000105,src_000017,op_havoc,rep_16,+cov diff --git a/fuzz-afl/in/pnm/id:000106,src:000017,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000106,src_000017,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000106,src:000017,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000106,src_000017,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000109,src:000017,op:havoc,rep:8,+cov b/fuzz-afl/in/pnm/id_000109,src_000017,op_havoc,rep_8,+cov similarity index 100% rename from fuzz-afl/in/pnm/id:000109,src:000017,op:havoc,rep:8,+cov rename to fuzz-afl/in/pnm/id_000109,src_000017,op_havoc,rep_8,+cov diff --git a/fuzz-afl/in/pnm/id:000111,src:000017,op:havoc,rep:32 b/fuzz-afl/in/pnm/id_000111,src_000017,op_havoc,rep_32 similarity index 100% rename from fuzz-afl/in/pnm/id:000111,src:000017,op:havoc,rep:32 rename to fuzz-afl/in/pnm/id_000111,src_000017,op_havoc,rep_32 diff --git a/fuzz-afl/in/pnm/id:000113,src:000017,op:havoc,rep:4 b/fuzz-afl/in/pnm/id_000113,src_000017,op_havoc,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000113,src:000017,op:havoc,rep:4 rename to fuzz-afl/in/pnm/id_000113,src_000017,op_havoc,rep_4 diff --git a/fuzz-afl/in/pnm/id:000115,src:000017,op:havoc,rep:4,+cov b/fuzz-afl/in/pnm/id_000115,src_000017,op_havoc,rep_4,+cov similarity index 100% rename from fuzz-afl/in/pnm/id:000115,src:000017,op:havoc,rep:4,+cov rename to fuzz-afl/in/pnm/id_000115,src_000017,op_havoc,rep_4,+cov diff --git a/fuzz-afl/in/pnm/id:000118,src:000020,op:flip2,pos:8 b/fuzz-afl/in/pnm/id_000118,src_000020,op_flip2,pos_8 similarity index 100% rename from fuzz-afl/in/pnm/id:000118,src:000020,op:flip2,pos:8 rename to fuzz-afl/in/pnm/id_000118,src_000020,op_flip2,pos_8 diff --git a/fuzz-afl/in/pnm/id:000119,src:000026,op:flip1,pos:7 b/fuzz-afl/in/pnm/id_000119,src_000026,op_flip1,pos_7 similarity index 100% rename from fuzz-afl/in/pnm/id:000119,src:000026,op:flip1,pos:7 rename to fuzz-afl/in/pnm/id_000119,src_000026,op_flip1,pos_7 diff --git a/fuzz-afl/in/pnm/id:000120,src:000026,op:arith8,pos:8,val:+25,+cov b/fuzz-afl/in/pnm/id_000120,src_000026,op_arith8,pos_8,val_+25,+cov similarity index 100% rename from fuzz-afl/in/pnm/id:000120,src:000026,op:arith8,pos:8,val:+25,+cov rename to fuzz-afl/in/pnm/id_000120,src_000026,op_arith8,pos_8,val_+25,+cov diff --git a/fuzz-afl/in/pnm/id:000121,src:000052,op:havoc,rep:4,+cov b/fuzz-afl/in/pnm/id_000121,src_000052,op_havoc,rep_4,+cov similarity index 100% rename from fuzz-afl/in/pnm/id:000121,src:000052,op:havoc,rep:4,+cov rename to fuzz-afl/in/pnm/id_000121,src_000052,op_havoc,rep_4,+cov diff --git a/fuzz-afl/in/pnm/id:000124,src:000052,op:havoc,rep:4,+cov b/fuzz-afl/in/pnm/id_000124,src_000052,op_havoc,rep_4,+cov similarity index 100% rename from fuzz-afl/in/pnm/id:000124,src:000052,op:havoc,rep:4,+cov rename to fuzz-afl/in/pnm/id_000124,src_000052,op_havoc,rep_4,+cov diff --git a/fuzz-afl/in/pnm/id:000127,src:000063,op:flip1,pos:5 b/fuzz-afl/in/pnm/id_000127,src_000063,op_flip1,pos_5 similarity index 100% rename from fuzz-afl/in/pnm/id:000127,src:000063,op:flip1,pos:5 rename to fuzz-afl/in/pnm/id_000127,src_000063,op_flip1,pos_5 diff --git a/fuzz-afl/in/pnm/id:000130,src:000065,op:flip4,pos:11,+cov b/fuzz-afl/in/pnm/id_000130,src_000065,op_flip4,pos_11,+cov similarity index 100% rename from fuzz-afl/in/pnm/id:000130,src:000065,op:flip4,pos:11,+cov rename to fuzz-afl/in/pnm/id_000130,src_000065,op_flip4,pos_11,+cov diff --git a/fuzz-afl/in/pnm/id:000135,src:000070,op:flip2,pos:10,+cov b/fuzz-afl/in/pnm/id_000135,src_000070,op_flip2,pos_10,+cov similarity index 100% rename from fuzz-afl/in/pnm/id:000135,src:000070,op:flip2,pos:10,+cov rename to fuzz-afl/in/pnm/id_000135,src_000070,op_flip2,pos_10,+cov diff --git a/fuzz-afl/in/pnm/id:000137,src:000070,op:flip4,pos:8,+cov b/fuzz-afl/in/pnm/id_000137,src_000070,op_flip4,pos_8,+cov similarity index 100% rename from fuzz-afl/in/pnm/id:000137,src:000070,op:flip4,pos:8,+cov rename to fuzz-afl/in/pnm/id_000137,src_000070,op_flip4,pos_8,+cov diff --git a/fuzz-afl/in/pnm/id:000143,src:000070,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000143,src_000070,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000143,src:000070,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000143,src_000070,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000144,src:000070,op:havoc,rep:4 b/fuzz-afl/in/pnm/id_000144,src_000070,op_havoc,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000144,src:000070,op:havoc,rep:4 rename to fuzz-afl/in/pnm/id_000144,src_000070,op_havoc,rep_4 diff --git a/fuzz-afl/in/pnm/id:000145,src:000070,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000145,src_000070,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000145,src:000070,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000145,src_000070,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000146,src:000070,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000146,src_000070,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000146,src:000070,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000146,src_000070,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000147,src:000070,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000147,src_000070,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000147,src:000070,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000147,src_000070,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000148,src:000070,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000148,src_000070,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000148,src:000070,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000148,src_000070,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000152,src:000070,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000152,src_000070,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000152,src:000070,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000152,src_000070,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000153,src:000070,op:havoc,rep:16 b/fuzz-afl/in/pnm/id_000153,src_000070,op_havoc,rep_16 similarity index 100% rename from fuzz-afl/in/pnm/id:000153,src:000070,op:havoc,rep:16 rename to fuzz-afl/in/pnm/id_000153,src_000070,op_havoc,rep_16 diff --git a/fuzz-afl/in/pnm/id:000154,src:000070,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000154,src_000070,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000154,src:000070,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000154,src_000070,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000156,src:000070,op:havoc,rep:4 b/fuzz-afl/in/pnm/id_000156,src_000070,op_havoc,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000156,src:000070,op:havoc,rep:4 rename to fuzz-afl/in/pnm/id_000156,src_000070,op_havoc,rep_4 diff --git a/fuzz-afl/in/pnm/id:000157,src:000070,op:havoc,rep:32 b/fuzz-afl/in/pnm/id_000157,src_000070,op_havoc,rep_32 similarity index 100% rename from fuzz-afl/in/pnm/id:000157,src:000070,op:havoc,rep:32 rename to fuzz-afl/in/pnm/id_000157,src_000070,op_havoc,rep_32 diff --git a/fuzz-afl/in/pnm/id:000158,src:000078,op:flip1,pos:3,+cov b/fuzz-afl/in/pnm/id_000158,src_000078,op_flip1,pos_3,+cov similarity index 100% rename from fuzz-afl/in/pnm/id:000158,src:000078,op:flip1,pos:3,+cov rename to fuzz-afl/in/pnm/id_000158,src_000078,op_flip1,pos_3,+cov diff --git a/fuzz-afl/in/pnm/id:000159,src:000078,op:flip1,pos:6,+cov b/fuzz-afl/in/pnm/id_000159,src_000078,op_flip1,pos_6,+cov similarity index 100% rename from fuzz-afl/in/pnm/id:000159,src:000078,op:flip1,pos:6,+cov rename to fuzz-afl/in/pnm/id_000159,src_000078,op_flip1,pos_6,+cov diff --git a/fuzz-afl/in/pnm/id:000161,src:000078,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000161,src_000078,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000161,src:000078,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000161,src_000078,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000162,src:000079,op:arith8,pos:5,val:-21 b/fuzz-afl/in/pnm/id_000162,src_000079,op_arith8,pos_5,val_-21 similarity index 100% rename from fuzz-afl/in/pnm/id:000162,src:000079,op:arith8,pos:5,val:-21 rename to fuzz-afl/in/pnm/id_000162,src_000079,op_arith8,pos_5,val_-21 diff --git a/fuzz-afl/in/pnm/id:000163,src:000079,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000163,src_000079,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000163,src:000079,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000163,src_000079,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000164,src:000084,op:flip2,pos:11,+cov b/fuzz-afl/in/pnm/id_000164,src_000084,op_flip2,pos_11,+cov similarity index 100% rename from fuzz-afl/in/pnm/id:000164,src:000084,op:flip2,pos:11,+cov rename to fuzz-afl/in/pnm/id_000164,src_000084,op_flip2,pos_11,+cov diff --git a/fuzz-afl/in/pnm/id:000166,src:000084,op:arith8,pos:10,val:+25,+cov b/fuzz-afl/in/pnm/id_000166,src_000084,op_arith8,pos_10,val_+25,+cov similarity index 100% rename from fuzz-afl/in/pnm/id:000166,src:000084,op:arith8,pos:10,val:+25,+cov rename to fuzz-afl/in/pnm/id_000166,src_000084,op_arith8,pos_10,val_+25,+cov diff --git a/fuzz-afl/in/pnm/id:000168,src:000084,op:arith8,pos:11,val:+11,+cov b/fuzz-afl/in/pnm/id_000168,src_000084,op_arith8,pos_11,val_+11,+cov similarity index 100% rename from fuzz-afl/in/pnm/id:000168,src:000084,op:arith8,pos:11,val:+11,+cov rename to fuzz-afl/in/pnm/id_000168,src_000084,op_arith8,pos_11,val_+11,+cov diff --git a/fuzz-afl/in/pnm/id:000169,src:000084,op:arith8,pos:11,val:+13,+cov b/fuzz-afl/in/pnm/id_000169,src_000084,op_arith8,pos_11,val_+13,+cov similarity index 100% rename from fuzz-afl/in/pnm/id:000169,src:000084,op:arith8,pos:11,val:+13,+cov rename to fuzz-afl/in/pnm/id_000169,src_000084,op_arith8,pos_11,val_+13,+cov diff --git a/fuzz-afl/in/pnm/id:000171,src:000084,op:int8,pos:12,val:+32 b/fuzz-afl/in/pnm/id_000171,src_000084,op_int8,pos_12,val_+32 similarity index 100% rename from fuzz-afl/in/pnm/id:000171,src:000084,op:int8,pos:12,val:+32 rename to fuzz-afl/in/pnm/id_000171,src_000084,op_int8,pos_12,val_+32 diff --git a/fuzz-afl/in/pnm/id:000176,src:000084,op:havoc,rep:4 b/fuzz-afl/in/pnm/id_000176,src_000084,op_havoc,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000176,src:000084,op:havoc,rep:4 rename to fuzz-afl/in/pnm/id_000176,src_000084,op_havoc,rep_4 diff --git a/fuzz-afl/in/pnm/id:000177,src:000084,op:havoc,rep:4 b/fuzz-afl/in/pnm/id_000177,src_000084,op_havoc,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000177,src:000084,op:havoc,rep:4 rename to fuzz-afl/in/pnm/id_000177,src_000084,op_havoc,rep_4 diff --git a/fuzz-afl/in/pnm/id:000178,src:000084,op:havoc,rep:4,+cov b/fuzz-afl/in/pnm/id_000178,src_000084,op_havoc,rep_4,+cov similarity index 100% rename from fuzz-afl/in/pnm/id:000178,src:000084,op:havoc,rep:4,+cov rename to fuzz-afl/in/pnm/id_000178,src_000084,op_havoc,rep_4,+cov diff --git a/fuzz-afl/in/pnm/id:000180,src:000084,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000180,src_000084,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000180,src:000084,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000180,src_000084,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000181,src:000084,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000181,src_000084,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000181,src:000084,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000181,src_000084,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000183,src:000084,op:havoc,rep:2,+cov b/fuzz-afl/in/pnm/id_000183,src_000084,op_havoc,rep_2,+cov similarity index 100% rename from fuzz-afl/in/pnm/id:000183,src:000084,op:havoc,rep:2,+cov rename to fuzz-afl/in/pnm/id_000183,src_000084,op_havoc,rep_2,+cov diff --git a/fuzz-afl/in/pnm/id:000188,src:000087,op:flip4,pos:7,+cov b/fuzz-afl/in/pnm/id_000188,src_000087,op_flip4,pos_7,+cov similarity index 100% rename from fuzz-afl/in/pnm/id:000188,src:000087,op:flip4,pos:7,+cov rename to fuzz-afl/in/pnm/id_000188,src_000087,op_flip4,pos_7,+cov diff --git a/fuzz-afl/in/pnm/id:000189,src:000087,op:arith8,pos:3,val:-19,+cov b/fuzz-afl/in/pnm/id_000189,src_000087,op_arith8,pos_3,val_-19,+cov similarity index 100% rename from fuzz-afl/in/pnm/id:000189,src:000087,op:arith8,pos:3,val:-19,+cov rename to fuzz-afl/in/pnm/id_000189,src_000087,op_arith8,pos_3,val_-19,+cov diff --git a/fuzz-afl/in/pnm/id:000190,src:000087,op:arith8,pos:3,val:-21,+cov b/fuzz-afl/in/pnm/id_000190,src_000087,op_arith8,pos_3,val_-21,+cov similarity index 100% rename from fuzz-afl/in/pnm/id:000190,src:000087,op:arith8,pos:3,val:-21,+cov rename to fuzz-afl/in/pnm/id_000190,src_000087,op_arith8,pos_3,val_-21,+cov diff --git a/fuzz-afl/in/pnm/id:000192,src:000087,op:int32,pos:3,val:+0 b/fuzz-afl/in/pnm/id_000192,src_000087,op_int32,pos_3,val_+0 similarity index 100% rename from fuzz-afl/in/pnm/id:000192,src:000087,op:int32,pos:3,val:+0 rename to fuzz-afl/in/pnm/id_000192,src_000087,op_int32,pos_3,val_+0 diff --git a/fuzz-afl/in/pnm/id:000193,src:000087,op:int32,pos:7,val:+0 b/fuzz-afl/in/pnm/id_000193,src_000087,op_int32,pos_7,val_+0 similarity index 100% rename from fuzz-afl/in/pnm/id:000193,src:000087,op:int32,pos:7,val:+0 rename to fuzz-afl/in/pnm/id_000193,src_000087,op_int32,pos_7,val_+0 diff --git a/fuzz-afl/in/pnm/id:000194,src:000087,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000194,src_000087,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000194,src:000087,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000194,src_000087,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000196,src:000094,op:flip16,pos:19 b/fuzz-afl/in/pnm/id_000196,src_000094,op_flip16,pos_19 similarity index 100% rename from fuzz-afl/in/pnm/id:000196,src:000094,op:flip16,pos:19 rename to fuzz-afl/in/pnm/id_000196,src_000094,op_flip16,pos_19 diff --git a/fuzz-afl/in/pnm/id:000200,src:000108,op:havoc,rep:8 b/fuzz-afl/in/pnm/id_000200,src_000108,op_havoc,rep_8 similarity index 100% rename from fuzz-afl/in/pnm/id:000200,src:000108,op:havoc,rep:8 rename to fuzz-afl/in/pnm/id_000200,src_000108,op_havoc,rep_8 diff --git a/fuzz-afl/in/pnm/id:000201,src:000108,op:havoc,rep:8 b/fuzz-afl/in/pnm/id_000201,src_000108,op_havoc,rep_8 similarity index 100% rename from fuzz-afl/in/pnm/id:000201,src:000108,op:havoc,rep:8 rename to fuzz-afl/in/pnm/id_000201,src_000108,op_havoc,rep_8 diff --git a/fuzz-afl/in/pnm/id:000202,src:000109,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000202,src_000109,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000202,src:000109,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000202,src_000109,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000203,src:000110,op:flip1,pos:3 b/fuzz-afl/in/pnm/id_000203,src_000110,op_flip1,pos_3 similarity index 100% rename from fuzz-afl/in/pnm/id:000203,src:000110,op:flip1,pos:3 rename to fuzz-afl/in/pnm/id_000203,src_000110,op_flip1,pos_3 diff --git a/fuzz-afl/in/pnm/id:000204,src:000114,op:havoc,rep:4 b/fuzz-afl/in/pnm/id_000204,src_000114,op_havoc,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000204,src:000114,op:havoc,rep:4 rename to fuzz-afl/in/pnm/id_000204,src_000114,op_havoc,rep_4 diff --git a/fuzz-afl/in/pnm/id:000206,src:000114,op:havoc,rep:4,+cov b/fuzz-afl/in/pnm/id_000206,src_000114,op_havoc,rep_4,+cov similarity index 100% rename from fuzz-afl/in/pnm/id:000206,src:000114,op:havoc,rep:4,+cov rename to fuzz-afl/in/pnm/id_000206,src_000114,op_havoc,rep_4,+cov diff --git a/fuzz-afl/in/pnm/id:000208,src:000114,op:havoc,rep:4 b/fuzz-afl/in/pnm/id_000208,src_000114,op_havoc,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000208,src:000114,op:havoc,rep:4 rename to fuzz-afl/in/pnm/id_000208,src_000114,op_havoc,rep_4 diff --git a/fuzz-afl/in/pnm/id:000209,src:000114,op:havoc,rep:4 b/fuzz-afl/in/pnm/id_000209,src_000114,op_havoc,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000209,src:000114,op:havoc,rep:4 rename to fuzz-afl/in/pnm/id_000209,src_000114,op_havoc,rep_4 diff --git a/fuzz-afl/in/pnm/id:000212,src:000114,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000212,src_000114,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000212,src:000114,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000212,src_000114,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000214,src:000114,op:havoc,rep:4 b/fuzz-afl/in/pnm/id_000214,src_000114,op_havoc,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000214,src:000114,op:havoc,rep:4 rename to fuzz-afl/in/pnm/id_000214,src_000114,op_havoc,rep_4 diff --git a/fuzz-afl/in/pnm/id:000217,src:000114,op:havoc,rep:16 b/fuzz-afl/in/pnm/id_000217,src_000114,op_havoc,rep_16 similarity index 100% rename from fuzz-afl/in/pnm/id:000217,src:000114,op:havoc,rep:16 rename to fuzz-afl/in/pnm/id_000217,src_000114,op_havoc,rep_16 diff --git a/fuzz-afl/in/pnm/id:000220,src:000120,op:havoc,rep:16 b/fuzz-afl/in/pnm/id_000220,src_000120,op_havoc,rep_16 similarity index 100% rename from fuzz-afl/in/pnm/id:000220,src:000120,op:havoc,rep:16 rename to fuzz-afl/in/pnm/id_000220,src_000120,op_havoc,rep_16 diff --git a/fuzz-afl/in/pnm/id:000221,src:000125,op:havoc,rep:8,+cov b/fuzz-afl/in/pnm/id_000221,src_000125,op_havoc,rep_8,+cov similarity index 100% rename from fuzz-afl/in/pnm/id:000221,src:000125,op:havoc,rep:8,+cov rename to fuzz-afl/in/pnm/id_000221,src_000125,op_havoc,rep_8,+cov diff --git a/fuzz-afl/in/pnm/id:000222,src:000130,op:arith8,pos:1,val:-3 b/fuzz-afl/in/pnm/id_000222,src_000130,op_arith8,pos_1,val_-3 similarity index 100% rename from fuzz-afl/in/pnm/id:000222,src:000130,op:arith8,pos:1,val:-3 rename to fuzz-afl/in/pnm/id_000222,src_000130,op_arith8,pos_1,val_-3 diff --git a/fuzz-afl/in/pnm/id:000223,src:000135,op:flip4,pos:9 b/fuzz-afl/in/pnm/id_000223,src_000135,op_flip4,pos_9 similarity index 100% rename from fuzz-afl/in/pnm/id:000223,src:000135,op:flip4,pos:9 rename to fuzz-afl/in/pnm/id_000223,src_000135,op_flip4,pos_9 diff --git a/fuzz-afl/in/pnm/id:000224,src:000136,op:havoc,rep:4 b/fuzz-afl/in/pnm/id_000224,src_000136,op_havoc,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000224,src:000136,op:havoc,rep:4 rename to fuzz-afl/in/pnm/id_000224,src_000136,op_havoc,rep_4 diff --git a/fuzz-afl/in/pnm/id:000225,src:000137,op:flip4,pos:10 b/fuzz-afl/in/pnm/id_000225,src_000137,op_flip4,pos_10 similarity index 100% rename from fuzz-afl/in/pnm/id:000225,src:000137,op:flip4,pos:10 rename to fuzz-afl/in/pnm/id_000225,src_000137,op_flip4,pos_10 diff --git a/fuzz-afl/in/pnm/id:000227,src:000151,op:havoc,rep:4 b/fuzz-afl/in/pnm/id_000227,src_000151,op_havoc,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000227,src:000151,op:havoc,rep:4 rename to fuzz-afl/in/pnm/id_000227,src_000151,op_havoc,rep_4 diff --git a/fuzz-afl/in/pnm/id:000229,src:000151,op:havoc,rep:16 b/fuzz-afl/in/pnm/id_000229,src_000151,op_havoc,rep_16 similarity index 100% rename from fuzz-afl/in/pnm/id:000229,src:000151,op:havoc,rep:16 rename to fuzz-afl/in/pnm/id_000229,src_000151,op_havoc,rep_16 diff --git a/fuzz-afl/in/pnm/id:000230,src:000151,op:havoc,rep:4 b/fuzz-afl/in/pnm/id_000230,src_000151,op_havoc,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000230,src:000151,op:havoc,rep:4 rename to fuzz-afl/in/pnm/id_000230,src_000151,op_havoc,rep_4 diff --git a/fuzz-afl/in/pnm/id:000232,src:000151,op:havoc,rep:16 b/fuzz-afl/in/pnm/id_000232,src_000151,op_havoc,rep_16 similarity index 100% rename from fuzz-afl/in/pnm/id:000232,src:000151,op:havoc,rep:16 rename to fuzz-afl/in/pnm/id_000232,src_000151,op_havoc,rep_16 diff --git a/fuzz-afl/in/pnm/id:000233,src:000151,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000233,src_000151,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000233,src:000151,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000233,src_000151,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000234,src:000159,op:flip2,pos:1,+cov b/fuzz-afl/in/pnm/id_000234,src_000159,op_flip2,pos_1,+cov similarity index 100% rename from fuzz-afl/in/pnm/id:000234,src:000159,op:flip2,pos:1,+cov rename to fuzz-afl/in/pnm/id_000234,src_000159,op_flip2,pos_1,+cov diff --git a/fuzz-afl/in/pnm/id:000235,src:000159,op:flip2,pos:3 b/fuzz-afl/in/pnm/id_000235,src_000159,op_flip2,pos_3 similarity index 100% rename from fuzz-afl/in/pnm/id:000235,src:000159,op:flip2,pos:3 rename to fuzz-afl/in/pnm/id_000235,src_000159,op_flip2,pos_3 diff --git a/fuzz-afl/in/pnm/id:000236,src:000159,op:flip2,pos:7,+cov b/fuzz-afl/in/pnm/id_000236,src_000159,op_flip2,pos_7,+cov similarity index 100% rename from fuzz-afl/in/pnm/id:000236,src:000159,op:flip2,pos:7,+cov rename to fuzz-afl/in/pnm/id_000236,src_000159,op_flip2,pos_7,+cov diff --git a/fuzz-afl/in/pnm/id:000238,src:000159,op:havoc,rep:32 b/fuzz-afl/in/pnm/id_000238,src_000159,op_havoc,rep_32 similarity index 100% rename from fuzz-afl/in/pnm/id:000238,src:000159,op:havoc,rep:32 rename to fuzz-afl/in/pnm/id_000238,src_000159,op_havoc,rep_32 diff --git a/fuzz-afl/in/pnm/id:000240,src:000159,op:havoc,rep:2,+cov b/fuzz-afl/in/pnm/id_000240,src_000159,op_havoc,rep_2,+cov similarity index 100% rename from fuzz-afl/in/pnm/id:000240,src:000159,op:havoc,rep:2,+cov rename to fuzz-afl/in/pnm/id_000240,src_000159,op_havoc,rep_2,+cov diff --git a/fuzz-afl/in/pnm/id:000241,src:000159,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000241,src_000159,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000241,src:000159,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000241,src_000159,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000242,src:000159,op:havoc,rep:2,+cov b/fuzz-afl/in/pnm/id_000242,src_000159,op_havoc,rep_2,+cov similarity index 100% rename from fuzz-afl/in/pnm/id:000242,src:000159,op:havoc,rep:2,+cov rename to fuzz-afl/in/pnm/id_000242,src_000159,op_havoc,rep_2,+cov diff --git a/fuzz-afl/in/pnm/id:000245,src:000164,op:havoc,rep:4 b/fuzz-afl/in/pnm/id_000245,src_000164,op_havoc,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000245,src:000164,op:havoc,rep:4 rename to fuzz-afl/in/pnm/id_000245,src_000164,op_havoc,rep_4 diff --git a/fuzz-afl/in/pnm/id:000247,src:000164,op:havoc,rep:4 b/fuzz-afl/in/pnm/id_000247,src_000164,op_havoc,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000247,src:000164,op:havoc,rep:4 rename to fuzz-afl/in/pnm/id_000247,src_000164,op_havoc,rep_4 diff --git a/fuzz-afl/in/pnm/id:000249,src:000164,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000249,src_000164,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000249,src:000164,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000249,src_000164,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000250,src:000164,op:havoc,rep:16 b/fuzz-afl/in/pnm/id_000250,src_000164,op_havoc,rep_16 similarity index 100% rename from fuzz-afl/in/pnm/id:000250,src:000164,op:havoc,rep:16 rename to fuzz-afl/in/pnm/id_000250,src_000164,op_havoc,rep_16 diff --git a/fuzz-afl/in/pnm/id:000252,src:000164,op:havoc,rep:2,+cov b/fuzz-afl/in/pnm/id_000252,src_000164,op_havoc,rep_2,+cov similarity index 100% rename from fuzz-afl/in/pnm/id:000252,src:000164,op:havoc,rep:2,+cov rename to fuzz-afl/in/pnm/id_000252,src_000164,op_havoc,rep_2,+cov diff --git a/fuzz-afl/in/pnm/id:000253,src:000167,op:havoc,rep:16 b/fuzz-afl/in/pnm/id_000253,src_000167,op_havoc,rep_16 similarity index 100% rename from fuzz-afl/in/pnm/id:000253,src:000167,op:havoc,rep:16 rename to fuzz-afl/in/pnm/id_000253,src_000167,op_havoc,rep_16 diff --git a/fuzz-afl/in/pnm/id:000256,src:000167,op:havoc,rep:4 b/fuzz-afl/in/pnm/id_000256,src_000167,op_havoc,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000256,src:000167,op:havoc,rep:4 rename to fuzz-afl/in/pnm/id_000256,src_000167,op_havoc,rep_4 diff --git a/fuzz-afl/in/pnm/id:000257,src:000167,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000257,src_000167,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000257,src:000167,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000257,src_000167,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000261,src:000168,op:havoc,rep:4,+cov b/fuzz-afl/in/pnm/id_000261,src_000168,op_havoc,rep_4,+cov similarity index 100% rename from fuzz-afl/in/pnm/id:000261,src:000168,op:havoc,rep:4,+cov rename to fuzz-afl/in/pnm/id_000261,src_000168,op_havoc,rep_4,+cov diff --git a/fuzz-afl/in/pnm/id:000262,src:000168,op:havoc,rep:16 b/fuzz-afl/in/pnm/id_000262,src_000168,op_havoc,rep_16 similarity index 100% rename from fuzz-afl/in/pnm/id:000262,src:000168,op:havoc,rep:16 rename to fuzz-afl/in/pnm/id_000262,src_000168,op_havoc,rep_16 diff --git a/fuzz-afl/in/pnm/id:000264,src:000169,op:havoc,rep:8 b/fuzz-afl/in/pnm/id_000264,src_000169,op_havoc,rep_8 similarity index 100% rename from fuzz-afl/in/pnm/id:000264,src:000169,op:havoc,rep:8 rename to fuzz-afl/in/pnm/id_000264,src_000169,op_havoc,rep_8 diff --git a/fuzz-afl/in/pnm/id:000268,src:000169,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000268,src_000169,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000268,src:000169,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000268,src_000169,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000269,src:000169,op:havoc,rep:4 b/fuzz-afl/in/pnm/id_000269,src_000169,op_havoc,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000269,src:000169,op:havoc,rep:4 rename to fuzz-afl/in/pnm/id_000269,src_000169,op_havoc,rep_4 diff --git a/fuzz-afl/in/pnm/id:000271,src:000169,op:havoc,rep:4 b/fuzz-afl/in/pnm/id_000271,src_000169,op_havoc,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000271,src:000169,op:havoc,rep:4 rename to fuzz-afl/in/pnm/id_000271,src_000169,op_havoc,rep_4 diff --git a/fuzz-afl/in/pnm/id:000272,src:000175,op:arith8,pos:1,val:+3 b/fuzz-afl/in/pnm/id_000272,src_000175,op_arith8,pos_1,val_+3 similarity index 100% rename from fuzz-afl/in/pnm/id:000272,src:000175,op:arith8,pos:1,val:+3 rename to fuzz-afl/in/pnm/id_000272,src_000175,op_arith8,pos_1,val_+3 diff --git a/fuzz-afl/in/pnm/id:000275,src:000175,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000275,src_000175,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000275,src:000175,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000275,src_000175,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000277,src:000175,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000277,src_000175,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000277,src:000175,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000277,src_000175,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000280,src:000175,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000280,src_000175,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000280,src:000175,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000280,src_000175,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000281,src:000181,op:flip1,pos:1 b/fuzz-afl/in/pnm/id_000281,src_000181,op_flip1,pos_1 similarity index 100% rename from fuzz-afl/in/pnm/id:000281,src:000181,op:flip1,pos:1 rename to fuzz-afl/in/pnm/id_000281,src_000181,op_flip1,pos_1 diff --git a/fuzz-afl/in/pnm/id:000283,src:000187,op:flip2,pos:9 b/fuzz-afl/in/pnm/id_000283,src_000187,op_flip2,pos_9 similarity index 100% rename from fuzz-afl/in/pnm/id:000283,src:000187,op:flip2,pos:9 rename to fuzz-afl/in/pnm/id_000283,src_000187,op_flip2,pos_9 diff --git a/fuzz-afl/in/pnm/id:000284,src:000187,op:havoc,rep:4 b/fuzz-afl/in/pnm/id_000284,src_000187,op_havoc,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000284,src:000187,op:havoc,rep:4 rename to fuzz-afl/in/pnm/id_000284,src_000187,op_havoc,rep_4 diff --git a/fuzz-afl/in/pnm/id:000286,src:000188,op:flip2,pos:3 b/fuzz-afl/in/pnm/id_000286,src_000188,op_flip2,pos_3 similarity index 100% rename from fuzz-afl/in/pnm/id:000286,src:000188,op:flip2,pos:3 rename to fuzz-afl/in/pnm/id_000286,src_000188,op_flip2,pos_3 diff --git a/fuzz-afl/in/pnm/id:000287,src:000188,op:havoc,rep:4,+cov b/fuzz-afl/in/pnm/id_000287,src_000188,op_havoc,rep_4,+cov similarity index 100% rename from fuzz-afl/in/pnm/id:000287,src:000188,op:havoc,rep:4,+cov rename to fuzz-afl/in/pnm/id_000287,src_000188,op_havoc,rep_4,+cov diff --git a/fuzz-afl/in/pnm/id:000288,src:000188,op:havoc,rep:2,+cov b/fuzz-afl/in/pnm/id_000288,src_000188,op_havoc,rep_2,+cov similarity index 100% rename from fuzz-afl/in/pnm/id:000288,src:000188,op:havoc,rep:2,+cov rename to fuzz-afl/in/pnm/id_000288,src_000188,op_havoc,rep_2,+cov diff --git a/fuzz-afl/in/pnm/id:000290,src:000213,op:flip1,pos:3,+cov b/fuzz-afl/in/pnm/id_000290,src_000213,op_flip1,pos_3,+cov similarity index 100% rename from fuzz-afl/in/pnm/id:000290,src:000213,op:flip1,pos:3,+cov rename to fuzz-afl/in/pnm/id_000290,src_000213,op_flip1,pos_3,+cov diff --git a/fuzz-afl/in/pnm/id:000291,src:000213,op:flip1,pos:4 b/fuzz-afl/in/pnm/id_000291,src_000213,op_flip1,pos_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000291,src:000213,op:flip1,pos:4 rename to fuzz-afl/in/pnm/id_000291,src_000213,op_flip1,pos_4 diff --git a/fuzz-afl/in/pnm/id:000305,src:000213,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000305,src_000213,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000305,src:000213,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000305,src_000213,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000307,src:000213,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000307,src_000213,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000307,src:000213,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000307,src_000213,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000309,src:000213,op:havoc,rep:4 b/fuzz-afl/in/pnm/id_000309,src_000213,op_havoc,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000309,src:000213,op:havoc,rep:4 rename to fuzz-afl/in/pnm/id_000309,src_000213,op_havoc,rep_4 diff --git a/fuzz-afl/in/pnm/id:000310,src:000213,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000310,src_000213,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000310,src:000213,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000310,src_000213,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000316,src:000225,op:arith8,pos:9,val:-35 b/fuzz-afl/in/pnm/id_000316,src_000225,op_arith8,pos_9,val_-35 similarity index 100% rename from fuzz-afl/in/pnm/id:000316,src:000225,op:arith8,pos:9,val:-35 rename to fuzz-afl/in/pnm/id_000316,src_000225,op_arith8,pos_9,val_-35 diff --git a/fuzz-afl/in/pnm/id:000318,src:000231,op:flip1,pos:18 b/fuzz-afl/in/pnm/id_000318,src_000231,op_flip1,pos_18 similarity index 100% rename from fuzz-afl/in/pnm/id:000318,src:000231,op:flip1,pos:18 rename to fuzz-afl/in/pnm/id_000318,src_000231,op_flip1,pos_18 diff --git a/fuzz-afl/in/pnm/id:000319,src:000231,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000319,src_000231,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000319,src:000231,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000319,src_000231,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000321,src:000231,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000321,src_000231,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000321,src:000231,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000321,src_000231,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000322,src:000231,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000322,src_000231,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000322,src:000231,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000322,src_000231,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000323,src:000233,op:arith8,pos:8,val:-21 b/fuzz-afl/in/pnm/id_000323,src_000233,op_arith8,pos_8,val_-21 similarity index 100% rename from fuzz-afl/in/pnm/id:000323,src:000233,op:arith8,pos:8,val:-21 rename to fuzz-afl/in/pnm/id_000323,src_000233,op_arith8,pos_8,val_-21 diff --git a/fuzz-afl/in/pnm/id:000324,src:000233,op:havoc,rep:4 b/fuzz-afl/in/pnm/id_000324,src_000233,op_havoc,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000324,src:000233,op:havoc,rep:4 rename to fuzz-afl/in/pnm/id_000324,src_000233,op_havoc,rep_4 diff --git a/fuzz-afl/in/pnm/id:000325,src:000233,op:havoc,rep:32 b/fuzz-afl/in/pnm/id_000325,src_000233,op_havoc,rep_32 similarity index 100% rename from fuzz-afl/in/pnm/id:000325,src:000233,op:havoc,rep:32 rename to fuzz-afl/in/pnm/id_000325,src_000233,op_havoc,rep_32 diff --git a/fuzz-afl/in/pnm/id:000326,src:000234,op:flip1,pos:3 b/fuzz-afl/in/pnm/id_000326,src_000234,op_flip1,pos_3 similarity index 100% rename from fuzz-afl/in/pnm/id:000326,src:000234,op:flip1,pos:3 rename to fuzz-afl/in/pnm/id_000326,src_000234,op_flip1,pos_3 diff --git a/fuzz-afl/in/pnm/id:000327,src:000234,op:flip2,pos:7 b/fuzz-afl/in/pnm/id_000327,src_000234,op_flip2,pos_7 similarity index 100% rename from fuzz-afl/in/pnm/id:000327,src:000234,op:flip2,pos:7 rename to fuzz-afl/in/pnm/id_000327,src_000234,op_flip2,pos_7 diff --git a/fuzz-afl/in/pnm/id:000328,src:000236,op:flip1,pos:3,+cov b/fuzz-afl/in/pnm/id_000328,src_000236,op_flip1,pos_3,+cov similarity index 100% rename from fuzz-afl/in/pnm/id:000328,src:000236,op:flip1,pos:3,+cov rename to fuzz-afl/in/pnm/id_000328,src_000236,op_flip1,pos_3,+cov diff --git a/fuzz-afl/in/pnm/id:000329,src:000236,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000329,src_000236,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000329,src:000236,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000329,src_000236,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000330,src:000240,op:havoc,rep:4 b/fuzz-afl/in/pnm/id_000330,src_000240,op_havoc,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000330,src:000240,op:havoc,rep:4 rename to fuzz-afl/in/pnm/id_000330,src_000240,op_havoc,rep_4 diff --git a/fuzz-afl/in/pnm/id:000331,src:000240,op:havoc,rep:4 b/fuzz-afl/in/pnm/id_000331,src_000240,op_havoc,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000331,src:000240,op:havoc,rep:4 rename to fuzz-afl/in/pnm/id_000331,src_000240,op_havoc,rep_4 diff --git a/fuzz-afl/in/pnm/id:000332,src:000243,op:havoc,rep:8 b/fuzz-afl/in/pnm/id_000332,src_000243,op_havoc,rep_8 similarity index 100% rename from fuzz-afl/in/pnm/id:000332,src:000243,op:havoc,rep:8 rename to fuzz-afl/in/pnm/id_000332,src_000243,op_havoc,rep_8 diff --git a/fuzz-afl/in/pnm/id:000333,src:000243,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000333,src_000243,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000333,src:000243,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000333,src_000243,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000334,src:000243,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000334,src_000243,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000334,src:000243,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000334,src_000243,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000335,src:000243,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000335,src_000243,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000335,src:000243,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000335,src_000243,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000336,src:000243,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000336,src_000243,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000336,src:000243,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000336,src_000243,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000337,src:000246,op:flip4,pos:14 b/fuzz-afl/in/pnm/id_000337,src_000246,op_flip4,pos_14 similarity index 100% rename from fuzz-afl/in/pnm/id:000337,src:000246,op:flip4,pos:14 rename to fuzz-afl/in/pnm/id_000337,src_000246,op_flip4,pos_14 diff --git a/fuzz-afl/in/pnm/id:000338,src:000260,op:arith8,pos:17,val:+9 b/fuzz-afl/in/pnm/id_000338,src_000260,op_arith8,pos_17,val_+9 similarity index 100% rename from fuzz-afl/in/pnm/id:000338,src:000260,op:arith8,pos:17,val:+9 rename to fuzz-afl/in/pnm/id_000338,src_000260,op_arith8,pos_17,val_+9 diff --git a/fuzz-afl/in/pnm/id:000340,src:000260,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000340,src_000260,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000340,src:000260,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000340,src_000260,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000341,src:000260,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000341,src_000260,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000341,src:000260,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000341,src_000260,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000342,src:000260,op:havoc,rep:4 b/fuzz-afl/in/pnm/id_000342,src_000260,op_havoc,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000342,src:000260,op:havoc,rep:4 rename to fuzz-afl/in/pnm/id_000342,src_000260,op_havoc,rep_4 diff --git a/fuzz-afl/in/pnm/id:000346,src:000267,op:flip4,pos:13 b/fuzz-afl/in/pnm/id_000346,src_000267,op_flip4,pos_13 similarity index 100% rename from fuzz-afl/in/pnm/id:000346,src:000267,op:flip4,pos:13 rename to fuzz-afl/in/pnm/id_000346,src_000267,op_flip4,pos_13 diff --git a/fuzz-afl/in/pnm/id:000353,src:000275,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000353,src_000275,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000353,src:000275,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000353,src_000275,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000354,src:000275,op:havoc,rep:8 b/fuzz-afl/in/pnm/id_000354,src_000275,op_havoc,rep_8 similarity index 100% rename from fuzz-afl/in/pnm/id:000354,src:000275,op:havoc,rep:8 rename to fuzz-afl/in/pnm/id_000354,src_000275,op_havoc,rep_8 diff --git a/fuzz-afl/in/pnm/id:000355,src:000293,op:arith8,pos:14,val:-21 b/fuzz-afl/in/pnm/id_000355,src_000293,op_arith8,pos_14,val_-21 similarity index 100% rename from fuzz-afl/in/pnm/id:000355,src:000293,op:arith8,pos:14,val:-21 rename to fuzz-afl/in/pnm/id_000355,src_000293,op_arith8,pos_14,val_-21 diff --git a/fuzz-afl/in/pnm/id:000356,src:000293,op:havoc,rep:4 b/fuzz-afl/in/pnm/id_000356,src_000293,op_havoc,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000356,src:000293,op:havoc,rep:4 rename to fuzz-afl/in/pnm/id_000356,src_000293,op_havoc,rep_4 diff --git a/fuzz-afl/in/pnm/id:000359,src:000337,op:flip1,pos:8 b/fuzz-afl/in/pnm/id_000359,src_000337,op_flip1,pos_8 similarity index 100% rename from fuzz-afl/in/pnm/id:000359,src:000337,op:flip1,pos:8 rename to fuzz-afl/in/pnm/id_000359,src_000337,op_flip1,pos_8 diff --git a/fuzz-afl/in/pnm/id:000361,src:000355,op:arith8,pos:16,val:+18 b/fuzz-afl/in/pnm/id_000361,src_000355,op_arith8,pos_16,val_+18 similarity index 100% rename from fuzz-afl/in/pnm/id:000361,src:000355,op:arith8,pos:16,val:+18 rename to fuzz-afl/in/pnm/id_000361,src_000355,op_arith8,pos_16,val_+18 diff --git a/fuzz-afl/in/pnm/id:000364,src:000360,op:havoc,rep:4 b/fuzz-afl/in/pnm/id_000364,src_000360,op_havoc,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000364,src:000360,op:havoc,rep:4 rename to fuzz-afl/in/pnm/id_000364,src_000360,op_havoc,rep_4 diff --git a/fuzz-afl/in/pnm/id:000365,src:000129,op:havoc,rep:4 b/fuzz-afl/in/pnm/id_000365,src_000129,op_havoc,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000365,src:000129,op:havoc,rep:4 rename to fuzz-afl/in/pnm/id_000365,src_000129,op_havoc,rep_4 diff --git a/fuzz-afl/in/pnm/id:000366,src:000143,op:havoc,rep:4 b/fuzz-afl/in/pnm/id_000366,src_000143,op_havoc,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000366,src:000143,op:havoc,rep:4 rename to fuzz-afl/in/pnm/id_000366,src_000143,op_havoc,rep_4 diff --git a/fuzz-afl/in/pnm/id:000367,src:000150,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000367,src_000150,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000367,src:000150,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000367,src_000150,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000370,src:000185,op:flip2,pos:13 b/fuzz-afl/in/pnm/id_000370,src_000185,op_flip2,pos_13 similarity index 100% rename from fuzz-afl/in/pnm/id:000370,src:000185,op:flip2,pos:13 rename to fuzz-afl/in/pnm/id_000370,src_000185,op_flip2,pos_13 diff --git a/fuzz-afl/in/pnm/id:000371,src:000199,op:havoc,rep:4 b/fuzz-afl/in/pnm/id_000371,src_000199,op_havoc,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000371,src:000199,op:havoc,rep:4 rename to fuzz-afl/in/pnm/id_000371,src_000199,op_havoc,rep_4 diff --git a/fuzz-afl/in/pnm/id:000372,src:000210,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000372,src_000210,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000372,src:000210,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000372,src_000210,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000373,src:000210,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000373,src_000210,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000373,src:000210,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000373,src_000210,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000374,src:000212,op:arith8,pos:15,val:-35 b/fuzz-afl/in/pnm/id_000374,src_000212,op_arith8,pos_15,val_-35 similarity index 100% rename from fuzz-afl/in/pnm/id:000374,src:000212,op:arith8,pos:15,val:-35 rename to fuzz-afl/in/pnm/id_000374,src_000212,op_arith8,pos_15,val_-35 diff --git a/fuzz-afl/in/pnm/id:000375,src:000212,op:havoc,rep:4 b/fuzz-afl/in/pnm/id_000375,src_000212,op_havoc,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000375,src:000212,op:havoc,rep:4 rename to fuzz-afl/in/pnm/id_000375,src_000212,op_havoc,rep_4 diff --git a/fuzz-afl/in/pnm/id:000378,src:000244,op:flip1,pos:14 b/fuzz-afl/in/pnm/id_000378,src_000244,op_flip1,pos_14 similarity index 100% rename from fuzz-afl/in/pnm/id:000378,src:000244,op:flip1,pos:14 rename to fuzz-afl/in/pnm/id_000378,src_000244,op_flip1,pos_14 diff --git a/fuzz-afl/in/pnm/id:000379,src:000244,op:flip2,pos:1 b/fuzz-afl/in/pnm/id_000379,src_000244,op_flip2,pos_1 similarity index 100% rename from fuzz-afl/in/pnm/id:000379,src:000244,op:flip2,pos:1 rename to fuzz-afl/in/pnm/id_000379,src_000244,op_flip2,pos_1 diff --git a/fuzz-afl/in/pnm/id:000380,src:000244,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000380,src_000244,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000380,src:000244,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000380,src_000244,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000381,src:000244,op:havoc,rep:16 b/fuzz-afl/in/pnm/id_000381,src_000244,op_havoc,rep_16 similarity index 100% rename from fuzz-afl/in/pnm/id:000381,src:000244,op:havoc,rep:16 rename to fuzz-afl/in/pnm/id_000381,src_000244,op_havoc,rep_16 diff --git a/fuzz-afl/in/pnm/id:000382,src:000244,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000382,src_000244,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000382,src:000244,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000382,src_000244,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000384,src:000277,op:havoc,rep:4 b/fuzz-afl/in/pnm/id_000384,src_000277,op_havoc,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000384,src:000277,op:havoc,rep:4 rename to fuzz-afl/in/pnm/id_000384,src_000277,op_havoc,rep_4 diff --git a/fuzz-afl/in/pnm/id:000388,src:000309,op:havoc,rep:4 b/fuzz-afl/in/pnm/id_000388,src_000309,op_havoc,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000388,src:000309,op:havoc,rep:4 rename to fuzz-afl/in/pnm/id_000388,src_000309,op_havoc,rep_4 diff --git a/fuzz-afl/in/pnm/id:000389,src:000325,op:arith8,pos:16,val:-21 b/fuzz-afl/in/pnm/id_000389,src_000325,op_arith8,pos_16,val_-21 similarity index 100% rename from fuzz-afl/in/pnm/id:000389,src:000325,op:arith8,pos:16,val:-21 rename to fuzz-afl/in/pnm/id_000389,src_000325,op_arith8,pos_16,val_-21 diff --git a/fuzz-afl/in/pnm/id:000390,src:000332,op:flip2,pos:1 b/fuzz-afl/in/pnm/id_000390,src_000332,op_flip2,pos_1 similarity index 100% rename from fuzz-afl/in/pnm/id:000390,src:000332,op:flip2,pos:1 rename to fuzz-afl/in/pnm/id_000390,src_000332,op_flip2,pos_1 diff --git a/fuzz-afl/in/pnm/id:000392,src:000391,op:flip1,pos:18 b/fuzz-afl/in/pnm/id_000392,src_000391,op_flip1,pos_18 similarity index 100% rename from fuzz-afl/in/pnm/id:000392,src:000391,op:flip1,pos:18 rename to fuzz-afl/in/pnm/id_000392,src_000391,op_flip1,pos_18 diff --git a/fuzz-afl/in/pnm/id:000393,src:000142,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000393,src_000142,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000393,src:000142,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000393,src_000142,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000397,src:000329,op:havoc,rep:8 b/fuzz-afl/in/pnm/id_000397,src_000329,op_havoc,rep_8 similarity index 100% rename from fuzz-afl/in/pnm/id:000397,src:000329,op:havoc,rep:8 rename to fuzz-afl/in/pnm/id_000397,src_000329,op_havoc,rep_8 diff --git a/fuzz-afl/in/pnm/id:000398,src:000333,op:flip2,pos:1 b/fuzz-afl/in/pnm/id_000398,src_000333,op_flip2,pos_1 similarity index 100% rename from fuzz-afl/in/pnm/id:000398,src:000333,op:flip2,pos:1 rename to fuzz-afl/in/pnm/id_000398,src_000333,op_flip2,pos_1 diff --git a/fuzz-afl/in/pnm/id:000399,src:000333,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000399,src_000333,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000399,src:000333,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000399,src_000333,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000401,src:000345,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000401,src_000345,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000401,src:000345,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000401,src_000345,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000407,src:000405,op:flip2,pos:13 b/fuzz-afl/in/pnm/id_000407,src_000405,op_flip2,pos_13 similarity index 100% rename from fuzz-afl/in/pnm/id:000407,src:000405,op:flip2,pos:13 rename to fuzz-afl/in/pnm/id_000407,src_000405,op_flip2,pos_13 diff --git a/fuzz-afl/in/pnm/id:000408,src:000405,op:flip4,pos:11 b/fuzz-afl/in/pnm/id_000408,src_000405,op_flip4,pos_11 similarity index 100% rename from fuzz-afl/in/pnm/id:000408,src:000405,op:flip4,pos:11 rename to fuzz-afl/in/pnm/id_000408,src_000405,op_flip4,pos_11 diff --git a/fuzz-afl/in/pnm/id:000411,src:000405,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000411,src_000405,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000411,src:000405,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000411,src_000405,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000412,src:000405,op:havoc,rep:4 b/fuzz-afl/in/pnm/id_000412,src_000405,op_havoc,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000412,src:000405,op:havoc,rep:4 rename to fuzz-afl/in/pnm/id_000412,src_000405,op_havoc,rep_4 diff --git a/fuzz-afl/in/pnm/id:000413,src:000405,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000413,src_000405,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000413,src:000405,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000413,src_000405,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000416,src:000227,op:havoc,rep:4 b/fuzz-afl/in/pnm/id_000416,src_000227,op_havoc,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000416,src:000227,op:havoc,rep:4 rename to fuzz-afl/in/pnm/id_000416,src_000227,op_havoc,rep_4 diff --git a/fuzz-afl/in/pnm/id:000417,src:000361,op:flip1,pos:8 b/fuzz-afl/in/pnm/id_000417,src_000361,op_flip1,pos_8 similarity index 100% rename from fuzz-afl/in/pnm/id:000417,src:000361,op:flip1,pos:8 rename to fuzz-afl/in/pnm/id_000417,src_000361,op_flip1,pos_8 diff --git a/fuzz-afl/in/pnm/id:000418,src:000389,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000418,src_000389,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000418,src:000389,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000418,src_000389,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000419,src:000389,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000419,src_000389,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000419,src:000389,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000419,src_000389,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000420,src:000389,op:havoc,rep:4 b/fuzz-afl/in/pnm/id_000420,src_000389,op_havoc,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000420,src:000389,op:havoc,rep:4 rename to fuzz-afl/in/pnm/id_000420,src_000389,op_havoc,rep_4 diff --git a/fuzz-afl/in/pnm/id:000421,src:000393,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000421,src_000393,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000421,src:000393,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000421,src_000393,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000422,src:000403,op:flip1,pos:1 b/fuzz-afl/in/pnm/id_000422,src_000403,op_flip1,pos_1 similarity index 100% rename from fuzz-afl/in/pnm/id:000422,src:000403,op:flip1,pos:1 rename to fuzz-afl/in/pnm/id_000422,src_000403,op_flip1,pos_1 diff --git a/fuzz-afl/in/pnm/id:000425,src:000404,op:havoc,rep:4 b/fuzz-afl/in/pnm/id_000425,src_000404,op_havoc,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000425,src:000404,op:havoc,rep:4 rename to fuzz-afl/in/pnm/id_000425,src_000404,op_havoc,rep_4 diff --git a/fuzz-afl/in/pnm/id:000426,src:000416,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000426,src_000416,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000426,src:000416,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000426,src_000416,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000427,src:000419,op:flip4,pos:12 b/fuzz-afl/in/pnm/id_000427,src_000419,op_flip4,pos_12 similarity index 100% rename from fuzz-afl/in/pnm/id:000427,src:000419,op:flip4,pos:12 rename to fuzz-afl/in/pnm/id_000427,src_000419,op_flip4,pos_12 diff --git a/fuzz-afl/in/pnm/id:000428,src:000427,op:flip1,pos:25 b/fuzz-afl/in/pnm/id_000428,src_000427,op_flip1,pos_25 similarity index 100% rename from fuzz-afl/in/pnm/id:000428,src:000427,op:flip1,pos:25 rename to fuzz-afl/in/pnm/id_000428,src_000427,op_flip1,pos_25 diff --git a/fuzz-afl/in/pnm/id:000429,src:000427,op:flip1,pos:33 b/fuzz-afl/in/pnm/id_000429,src_000427,op_flip1,pos_33 similarity index 100% rename from fuzz-afl/in/pnm/id:000429,src:000427,op:flip1,pos:33 rename to fuzz-afl/in/pnm/id_000429,src_000427,op_flip1,pos_33 diff --git a/fuzz-afl/in/pnm/id:000431,src:000382,op:flip4,pos:10 b/fuzz-afl/in/pnm/id_000431,src_000382,op_flip4,pos_10 similarity index 100% rename from fuzz-afl/in/pnm/id:000431,src:000382,op:flip4,pos:10 rename to fuzz-afl/in/pnm/id_000431,src_000382,op_flip4,pos_10 diff --git a/fuzz-afl/in/pnm/id:000432,src:000382,op:flip4,pos:12 b/fuzz-afl/in/pnm/id_000432,src_000382,op_flip4,pos_12 similarity index 100% rename from fuzz-afl/in/pnm/id:000432,src:000382,op:flip4,pos:12 rename to fuzz-afl/in/pnm/id_000432,src_000382,op_flip4,pos_12 diff --git a/fuzz-afl/in/pnm/id:000433,src:000387,op:flip2,pos:38 b/fuzz-afl/in/pnm/id_000433,src_000387,op_flip2,pos_38 similarity index 100% rename from fuzz-afl/in/pnm/id:000433,src:000387,op:flip2,pos:38 rename to fuzz-afl/in/pnm/id_000433,src_000387,op_flip2,pos_38 diff --git a/fuzz-afl/in/pnm/id:000434,src:000387,op:havoc,rep:4 b/fuzz-afl/in/pnm/id_000434,src_000387,op_havoc,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000434,src:000387,op:havoc,rep:4 rename to fuzz-afl/in/pnm/id_000434,src_000387,op_havoc,rep_4 diff --git a/fuzz-afl/in/pnm/id:000438,src:000387,op:havoc,rep:4 b/fuzz-afl/in/pnm/id_000438,src_000387,op_havoc,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000438,src:000387,op:havoc,rep:4 rename to fuzz-afl/in/pnm/id_000438,src_000387,op_havoc,rep_4 diff --git a/fuzz-afl/in/pnm/id:000439,src:000417,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000439,src_000417,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000439,src:000417,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000439,src_000417,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000440,src:000230,op:havoc,rep:8 b/fuzz-afl/in/pnm/id_000440,src_000230,op_havoc,rep_8 similarity index 100% rename from fuzz-afl/in/pnm/id:000440,src:000230,op:havoc,rep:8 rename to fuzz-afl/in/pnm/id_000440,src_000230,op_havoc,rep_8 diff --git a/fuzz-afl/in/pnm/id:000441,src:000307,op:havoc,rep:4 b/fuzz-afl/in/pnm/id_000441,src_000307,op_havoc,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000441,src:000307,op:havoc,rep:4 rename to fuzz-afl/in/pnm/id_000441,src_000307,op_havoc,rep_4 diff --git a/fuzz-afl/in/pnm/id:000442,src:000398,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000442,src_000398,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000442,src:000398,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000442,src_000398,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000443,src:000421,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000443,src_000421,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000443,src:000421,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000443,src_000421,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000444,src:000341,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000444,src_000341,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000444,src:000341,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000444,src_000341,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000445,src:000388,op:flip1,pos:5 b/fuzz-afl/in/pnm/id_000445,src_000388,op_flip1,pos_5 similarity index 100% rename from fuzz-afl/in/pnm/id:000445,src:000388,op:flip1,pos:5 rename to fuzz-afl/in/pnm/id_000445,src_000388,op_flip1,pos_5 diff --git a/fuzz-afl/in/pnm/id:000446,src:000388,op:flip4,pos:16 b/fuzz-afl/in/pnm/id_000446,src_000388,op_flip4,pos_16 similarity index 100% rename from fuzz-afl/in/pnm/id:000446,src:000388,op:flip4,pos:16 rename to fuzz-afl/in/pnm/id_000446,src_000388,op_flip4,pos_16 diff --git a/fuzz-afl/in/pnm/id:000447,src:000392,op:havoc,rep:4 b/fuzz-afl/in/pnm/id_000447,src_000392,op_havoc,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000447,src:000392,op:havoc,rep:4 rename to fuzz-afl/in/pnm/id_000447,src_000392,op_havoc,rep_4 diff --git a/fuzz-afl/in/pnm/id:000450,src:000439,op:flip1,pos:8 b/fuzz-afl/in/pnm/id_000450,src_000439,op_flip1,pos_8 similarity index 100% rename from fuzz-afl/in/pnm/id:000450,src:000439,op:flip1,pos:8 rename to fuzz-afl/in/pnm/id_000450,src_000439,op_flip1,pos_8 diff --git a/fuzz-afl/in/pnm/id:000456,src:000443,op:havoc,rep:16 b/fuzz-afl/in/pnm/id_000456,src_000443,op_havoc,rep_16 similarity index 100% rename from fuzz-afl/in/pnm/id:000456,src:000443,op:havoc,rep:16 rename to fuzz-afl/in/pnm/id_000456,src_000443,op_havoc,rep_16 diff --git a/fuzz-afl/in/pnm/id:000459,src:000451,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000459,src_000451,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000459,src:000451,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000459,src_000451,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000463,src:000455,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000463,src_000455,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000463,src:000455,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000463,src_000455,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000465,src:000460,op:havoc,rep:4 b/fuzz-afl/in/pnm/id_000465,src_000460,op_havoc,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000465,src:000460,op:havoc,rep:4 rename to fuzz-afl/in/pnm/id_000465,src_000460,op_havoc,rep_4 diff --git a/fuzz-afl/in/pnm/id:000468,src:000461,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000468,src_000461,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000468,src:000461,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000468,src_000461,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000470,src:000175+000464,op:splice,rep:2 b/fuzz-afl/in/pnm/id_000470,src_000175+000464,op_splice,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000470,src:000175+000464,op:splice,rep:2 rename to fuzz-afl/in/pnm/id_000470,src_000175+000464,op_splice,rep_2 diff --git a/fuzz-afl/in/pnm/id:000471,src:000294+000470,op:splice,rep:2 b/fuzz-afl/in/pnm/id_000471,src_000294+000470,op_splice,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000471,src:000294+000470,op:splice,rep:2 rename to fuzz-afl/in/pnm/id_000471,src_000294+000470,op_splice,rep_2 diff --git a/fuzz-afl/in/pnm/id:000484,src:000194+000455,op:splice,rep:4 b/fuzz-afl/in/pnm/id_000484,src_000194+000455,op_splice,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000484,src:000194+000455,op:splice,rep:4 rename to fuzz-afl/in/pnm/id_000484,src_000194+000455,op_splice,rep_4 diff --git a/fuzz-afl/in/pnm/id:000485,src:000422+000478,op:splice,rep:32 b/fuzz-afl/in/pnm/id_000485,src_000422+000478,op_splice,rep_32 similarity index 100% rename from fuzz-afl/in/pnm/id:000485,src:000422+000478,op:splice,rep:32 rename to fuzz-afl/in/pnm/id_000485,src_000422+000478,op_splice,rep_32 diff --git a/fuzz-afl/in/pnm/id:000488,src:000027+000468,op:splice,rep:16 b/fuzz-afl/in/pnm/id_000488,src_000027+000468,op_splice,rep_16 similarity index 100% rename from fuzz-afl/in/pnm/id:000488,src:000027+000468,op:splice,rep:16 rename to fuzz-afl/in/pnm/id_000488,src_000027+000468,op_splice,rep_16 diff --git a/fuzz-afl/in/pnm/id:000491,src:000489,op:havoc,rep:4 b/fuzz-afl/in/pnm/id_000491,src_000489,op_havoc,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000491,src:000489,op:havoc,rep:4 rename to fuzz-afl/in/pnm/id_000491,src_000489,op_havoc,rep_4 diff --git a/fuzz-afl/in/pnm/id:000492,src:000491,op:flip4,pos:8 b/fuzz-afl/in/pnm/id_000492,src_000491,op_flip4,pos_8 similarity index 100% rename from fuzz-afl/in/pnm/id:000492,src:000491,op:flip4,pos:8 rename to fuzz-afl/in/pnm/id_000492,src_000491,op_flip4,pos_8 diff --git a/fuzz-afl/in/pnm/id:000493,src:000140+000488,op:splice,rep:16 b/fuzz-afl/in/pnm/id_000493,src_000140+000488,op_splice,rep_16 similarity index 100% rename from fuzz-afl/in/pnm/id:000493,src:000140+000488,op:splice,rep:16 rename to fuzz-afl/in/pnm/id_000493,src_000140+000488,op_splice,rep_16 diff --git a/fuzz-afl/in/pnm/id:000494,src:000187+000482,op:splice,rep:4 b/fuzz-afl/in/pnm/id_000494,src_000187+000482,op_splice,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000494,src:000187+000482,op:splice,rep:4 rename to fuzz-afl/in/pnm/id_000494,src_000187+000482,op_splice,rep_4 diff --git a/fuzz-afl/in/pnm/id:000495,src:000212,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000495,src_000212,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000495,src:000212,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000495,src_000212,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000496,src:000215+000433,op:splice,rep:8 b/fuzz-afl/in/pnm/id_000496,src_000215+000433,op_splice,rep_8 similarity index 100% rename from fuzz-afl/in/pnm/id:000496,src:000215+000433,op:splice,rep:8 rename to fuzz-afl/in/pnm/id_000496,src_000215+000433,op_splice,rep_8 diff --git a/fuzz-afl/in/pnm/id:000497,src:000486,op:havoc,rep:8 b/fuzz-afl/in/pnm/id_000497,src_000486,op_havoc,rep_8 similarity index 100% rename from fuzz-afl/in/pnm/id:000497,src:000486,op:havoc,rep:8 rename to fuzz-afl/in/pnm/id_000497,src_000486,op_havoc,rep_8 diff --git a/fuzz-afl/in/pnm/id:000499,src:000309+000057,op:splice,rep:8 b/fuzz-afl/in/pnm/id_000499,src_000309+000057,op_splice,rep_8 similarity index 100% rename from fuzz-afl/in/pnm/id:000499,src:000309+000057,op:splice,rep:8 rename to fuzz-afl/in/pnm/id_000499,src_000309+000057,op_splice,rep_8 diff --git a/fuzz-afl/in/pnm/id:000500,src:000313,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000500,src_000313,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000500,src:000313,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000500,src_000313,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000501,src:000351,op:havoc,rep:64 b/fuzz-afl/in/pnm/id_000501,src_000351,op_havoc,rep_64 similarity index 100% rename from fuzz-afl/in/pnm/id:000501,src:000351,op:havoc,rep:64 rename to fuzz-afl/in/pnm/id_000501,src_000351,op_havoc,rep_64 diff --git a/fuzz-afl/in/pnm/id:000502,src:000355,op:havoc,rep:4 b/fuzz-afl/in/pnm/id_000502,src_000355,op_havoc,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000502,src:000355,op:havoc,rep:4 rename to fuzz-afl/in/pnm/id_000502,src_000355,op_havoc,rep_4 diff --git a/fuzz-afl/in/pnm/id:000503,src:000360,op:havoc,rep:64 b/fuzz-afl/in/pnm/id_000503,src_000360,op_havoc,rep_64 similarity index 100% rename from fuzz-afl/in/pnm/id:000503,src:000360,op:havoc,rep:64 rename to fuzz-afl/in/pnm/id_000503,src_000360,op_havoc,rep_64 diff --git a/fuzz-afl/in/pnm/id:000504,src:000363,op:havoc,rep:8 b/fuzz-afl/in/pnm/id_000504,src_000363,op_havoc,rep_8 similarity index 100% rename from fuzz-afl/in/pnm/id:000504,src:000363,op:havoc,rep:8 rename to fuzz-afl/in/pnm/id_000504,src_000363,op_havoc,rep_8 diff --git a/fuzz-afl/in/pnm/id:000505,src:000363+000471,op:splice,rep:16 b/fuzz-afl/in/pnm/id_000505,src_000363+000471,op_splice,rep_16 similarity index 100% rename from fuzz-afl/in/pnm/id:000505,src:000363+000471,op:splice,rep:16 rename to fuzz-afl/in/pnm/id_000505,src_000363+000471,op_splice,rep_16 diff --git a/fuzz-afl/in/pnm/id:000506,src:000363+000486,op:splice,rep:4 b/fuzz-afl/in/pnm/id_000506,src_000363+000486,op_splice,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000506,src:000363+000486,op:splice,rep:4 rename to fuzz-afl/in/pnm/id_000506,src_000363+000486,op_splice,rep_4 diff --git a/fuzz-afl/in/pnm/id:000507,src:000383,op:havoc,rep:8 b/fuzz-afl/in/pnm/id_000507,src_000383,op_havoc,rep_8 similarity index 100% rename from fuzz-afl/in/pnm/id:000507,src:000383,op:havoc,rep:8 rename to fuzz-afl/in/pnm/id_000507,src_000383,op_havoc,rep_8 diff --git a/fuzz-afl/in/pnm/id:000508,src:000408+000360,op:splice,rep:32 b/fuzz-afl/in/pnm/id_000508,src_000408+000360,op_splice,rep_32 similarity index 100% rename from fuzz-afl/in/pnm/id:000508,src:000408+000360,op:splice,rep:32 rename to fuzz-afl/in/pnm/id_000508,src_000408+000360,op_splice,rep_32 diff --git a/fuzz-afl/in/pnm/id:000509,src:000436,op:havoc,rep:16 b/fuzz-afl/in/pnm/id_000509,src_000436,op_havoc,rep_16 similarity index 100% rename from fuzz-afl/in/pnm/id:000509,src:000436,op:havoc,rep:16 rename to fuzz-afl/in/pnm/id_000509,src_000436,op_havoc,rep_16 diff --git a/fuzz-afl/in/pnm/id:000510,src:000436+000472,op:splice,rep:32 b/fuzz-afl/in/pnm/id_000510,src_000436+000472,op_splice,rep_32 similarity index 100% rename from fuzz-afl/in/pnm/id:000510,src:000436+000472,op:splice,rep:32 rename to fuzz-afl/in/pnm/id_000510,src_000436+000472,op_splice,rep_32 diff --git a/fuzz-afl/in/pnm/id:000511,src:000468,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000511,src_000468,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000511,src:000468,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000511,src_000468,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000512,src:000468,op:havoc,rep:32 b/fuzz-afl/in/pnm/id_000512,src_000468,op_havoc,rep_32 similarity index 100% rename from fuzz-afl/in/pnm/id:000512,src:000468,op:havoc,rep:32 rename to fuzz-afl/in/pnm/id_000512,src_000468,op_havoc,rep_32 diff --git a/fuzz-afl/in/pnm/id:000513,src:000480,op:havoc,rep:64 b/fuzz-afl/in/pnm/id_000513,src_000480,op_havoc,rep_64 similarity index 100% rename from fuzz-afl/in/pnm/id:000513,src:000480,op:havoc,rep:64 rename to fuzz-afl/in/pnm/id_000513,src_000480,op_havoc,rep_64 diff --git a/fuzz-afl/in/pnm/id:000515,src:000480,op:havoc,rep:64 b/fuzz-afl/in/pnm/id_000515,src_000480,op_havoc,rep_64 similarity index 100% rename from fuzz-afl/in/pnm/id:000515,src:000480,op:havoc,rep:64 rename to fuzz-afl/in/pnm/id_000515,src_000480,op_havoc,rep_64 diff --git a/fuzz-afl/in/pnm/id:000516,src:000480,op:havoc,rep:2 b/fuzz-afl/in/pnm/id_000516,src_000480,op_havoc,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000516,src:000480,op:havoc,rep:2 rename to fuzz-afl/in/pnm/id_000516,src_000480,op_havoc,rep_2 diff --git a/fuzz-afl/in/pnm/id:000517,src:000499,op:flip1,pos:4 b/fuzz-afl/in/pnm/id_000517,src_000499,op_flip1,pos_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000517,src:000499,op:flip1,pos:4 rename to fuzz-afl/in/pnm/id_000517,src_000499,op_flip1,pos_4 diff --git a/fuzz-afl/in/pnm/id:000518,src:000503,op:havoc,rep:32 b/fuzz-afl/in/pnm/id_000518,src_000503,op_havoc,rep_32 similarity index 100% rename from fuzz-afl/in/pnm/id:000518,src:000503,op:havoc,rep:32 rename to fuzz-afl/in/pnm/id_000518,src_000503,op_havoc,rep_32 diff --git a/fuzz-afl/in/pnm/id:000519,src:000511,op:flip4,pos:8 b/fuzz-afl/in/pnm/id_000519,src_000511,op_flip4,pos_8 similarity index 100% rename from fuzz-afl/in/pnm/id:000519,src:000511,op:flip4,pos:8 rename to fuzz-afl/in/pnm/id_000519,src_000511,op_flip4,pos_8 diff --git a/fuzz-afl/in/pnm/id:000520,src:000511,op:havoc,rep:4 b/fuzz-afl/in/pnm/id_000520,src_000511,op_havoc,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000520,src:000511,op:havoc,rep:4 rename to fuzz-afl/in/pnm/id_000520,src_000511,op_havoc,rep_4 diff --git a/fuzz-afl/in/pnm/id:000521,src:000511,op:havoc,rep:4 b/fuzz-afl/in/pnm/id_000521,src_000511,op_havoc,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000521,src:000511,op:havoc,rep:4 rename to fuzz-afl/in/pnm/id_000521,src_000511,op_havoc,rep_4 diff --git a/fuzz-afl/in/pnm/id:000522,src:000511,op:havoc,rep:4 b/fuzz-afl/in/pnm/id_000522,src_000511,op_havoc,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000522,src:000511,op:havoc,rep:4 rename to fuzz-afl/in/pnm/id_000522,src_000511,op_havoc,rep_4 diff --git a/fuzz-afl/in/pnm/id:000523,src:000511,op:havoc,rep:4 b/fuzz-afl/in/pnm/id_000523,src_000511,op_havoc,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000523,src:000511,op:havoc,rep:4 rename to fuzz-afl/in/pnm/id_000523,src_000511,op_havoc,rep_4 diff --git a/fuzz-afl/in/pnm/id:000524,src:000511+000362,op:splice,rep:32 b/fuzz-afl/in/pnm/id_000524,src_000511+000362,op_splice,rep_32 similarity index 100% rename from fuzz-afl/in/pnm/id:000524,src:000511+000362,op:splice,rep:32 rename to fuzz-afl/in/pnm/id_000524,src_000511+000362,op_splice,rep_32 diff --git a/fuzz-afl/in/pnm/id:000526,src:000519,op:havoc,rep:4 b/fuzz-afl/in/pnm/id_000526,src_000519,op_havoc,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000526,src:000519,op:havoc,rep:4 rename to fuzz-afl/in/pnm/id_000526,src_000519,op_havoc,rep_4 diff --git a/fuzz-afl/in/pnm/id:000527,src:000523,op:flip4,pos:4 b/fuzz-afl/in/pnm/id_000527,src_000523,op_flip4,pos_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000527,src:000523,op:flip4,pos:4 rename to fuzz-afl/in/pnm/id_000527,src_000523,op_flip4,pos_4 diff --git a/fuzz-afl/in/pnm/id:000528,src:000064+000333,op:splice,rep:4 b/fuzz-afl/in/pnm/id_000528,src_000064+000333,op_splice,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000528,src:000064+000333,op:splice,rep:4 rename to fuzz-afl/in/pnm/id_000528,src_000064+000333,op_splice,rep_4 diff --git a/fuzz-afl/in/pnm/id:000529,src:000109+000362,op:splice,rep:64 b/fuzz-afl/in/pnm/id_000529,src_000109+000362,op_splice,rep_64 similarity index 100% rename from fuzz-afl/in/pnm/id:000529,src:000109+000362,op:splice,rep:64 rename to fuzz-afl/in/pnm/id_000529,src_000109+000362,op_splice,rep_64 diff --git a/fuzz-afl/in/pnm/id:000530,src:000120+000528,op:splice,rep:4 b/fuzz-afl/in/pnm/id_000530,src_000120+000528,op_splice,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000530,src:000120+000528,op:splice,rep:4 rename to fuzz-afl/in/pnm/id_000530,src_000120+000528,op_splice,rep_4 diff --git a/fuzz-afl/in/pnm/id:000532,src:000163+000505,op:splice,rep:64 b/fuzz-afl/in/pnm/id_000532,src_000163+000505,op_splice,rep_64 similarity index 100% rename from fuzz-afl/in/pnm/id:000532,src:000163+000505,op:splice,rep:64 rename to fuzz-afl/in/pnm/id_000532,src_000163+000505,op_splice,rep_64 diff --git a/fuzz-afl/in/pnm/id:000533,src:000223+000521,op:splice,rep:2 b/fuzz-afl/in/pnm/id_000533,src_000223+000521,op_splice,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000533,src:000223+000521,op:splice,rep:2 rename to fuzz-afl/in/pnm/id_000533,src_000223+000521,op_splice,rep_2 diff --git a/fuzz-afl/in/pnm/id:000534,src:000315+000528,op:splice,rep:2 b/fuzz-afl/in/pnm/id_000534,src_000315+000528,op_splice,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000534,src:000315+000528,op:splice,rep:2 rename to fuzz-afl/in/pnm/id_000534,src_000315+000528,op_splice,rep_2 diff --git a/fuzz-afl/in/pnm/id:000535,src:000510,op:havoc,rep:8,+cov b/fuzz-afl/in/pnm/id_000535,src_000510,op_havoc,rep_8,+cov similarity index 100% rename from fuzz-afl/in/pnm/id:000535,src:000510,op:havoc,rep:8,+cov rename to fuzz-afl/in/pnm/id_000535,src_000510,op_havoc,rep_8,+cov diff --git a/fuzz-afl/in/pnm/id:000536,src:000130+000241,op:splice,rep:128 b/fuzz-afl/in/pnm/id_000536,src_000130+000241,op_splice,rep_128 similarity index 100% rename from fuzz-afl/in/pnm/id:000536,src:000130+000241,op:splice,rep:128 rename to fuzz-afl/in/pnm/id_000536,src_000130+000241,op_splice,rep_128 diff --git a/fuzz-afl/in/pnm/id:000537,src:000134+000501,op:splice,rep:4 b/fuzz-afl/in/pnm/id_000537,src_000134+000501,op_splice,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000537,src:000134+000501,op:splice,rep:4 rename to fuzz-afl/in/pnm/id_000537,src_000134+000501,op_splice,rep_4 diff --git a/fuzz-afl/in/pnm/id:000538,src:000136+000529,op:splice,rep:8 b/fuzz-afl/in/pnm/id_000538,src_000136+000529,op_splice,rep_8 similarity index 100% rename from fuzz-afl/in/pnm/id:000538,src:000136+000529,op:splice,rep:8 rename to fuzz-afl/in/pnm/id_000538,src_000136+000529,op_splice,rep_8 diff --git a/fuzz-afl/in/pnm/id:000539,src:000258+000434,op:splice,rep:4,+cov b/fuzz-afl/in/pnm/id_000539,src_000258+000434,op_splice,rep_4,+cov similarity index 100% rename from fuzz-afl/in/pnm/id:000539,src:000258+000434,op:splice,rep:4,+cov rename to fuzz-afl/in/pnm/id_000539,src_000258+000434,op_splice,rep_4,+cov diff --git a/fuzz-afl/in/pnm/id:000540,src:000258+000434,op:splice,rep:4 b/fuzz-afl/in/pnm/id_000540,src_000258+000434,op_splice,rep_4 similarity index 100% rename from fuzz-afl/in/pnm/id:000540,src:000258+000434,op:splice,rep:4 rename to fuzz-afl/in/pnm/id_000540,src_000258+000434,op_splice,rep_4 diff --git a/fuzz-afl/in/pnm/id:000541,src:000154+000507,op:splice,rep:2 b/fuzz-afl/in/pnm/id_000541,src_000154+000507,op_splice,rep_2 similarity index 100% rename from fuzz-afl/in/pnm/id:000541,src:000154+000507,op:splice,rep:2 rename to fuzz-afl/in/pnm/id_000541,src_000154+000507,op_splice,rep_2 diff --git a/fuzz-afl/in/pnm/id:000542,src:000368+000513,op:splice,rep:16 b/fuzz-afl/in/pnm/id_000542,src_000368+000513,op_splice,rep_16 similarity index 100% rename from fuzz-afl/in/pnm/id:000542,src:000368+000513,op:splice,rep:16 rename to fuzz-afl/in/pnm/id_000542,src_000368+000513,op_splice,rep_16 diff --git a/fuzz-afl/in/pnm/id:000543,src:000516,op:flip1,pos:346 b/fuzz-afl/in/pnm/id_000543,src_000516,op_flip1,pos_346 similarity index 100% rename from fuzz-afl/in/pnm/id:000543,src:000516,op:flip1,pos:346 rename to fuzz-afl/in/pnm/id_000543,src_000516,op_flip1,pos_346 diff --git a/fuzz-afl/minimize.sh b/fuzz-afl/minimize.sh index da536651b4..1939dc1286 100755 --- a/fuzz-afl/minimize.sh +++ b/fuzz-afl/minimize.sh @@ -29,3 +29,7 @@ do cargo +nightly afl tmin -i "$cmin_dir/$file" -o "$tmin_dir/$file" -- "$test_bin" done +find "$tmin_dir" -type f -print0 | # List all files + sed -z '{p; y/:/_/}' | # In names, print name and again but all ':' replaced by '_' + uniq -zu | # Only consider actually renamed files + xargs --null -r -L2 mv # For each actual pair, invoke mv From 0e0342f5f5dffe579f5540da115526e93da97735 Mon Sep 17 00:00:00 2001 From: Andreas Molzer Date: Fri, 3 May 2019 10:17:38 +0200 Subject: [PATCH 21/39] Fix vp8 border block indexing Closes: #774 --- src/webp/vp8.rs | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/src/webp/vp8.rs b/src/webp/vp8.rs index c512526d7c..fba8bc3e62 100644 --- a/src/webp/vp8.rs +++ b/src/webp/vp8.rs @@ -14,7 +14,7 @@ use byteorder::{LittleEndian, ReadBytesExt}; use std::default::Default; -use std::io; +use std::{cmp, io}; use std::io::Read; use super::transform; @@ -895,7 +895,7 @@ impl VP8Decoder { ); for (i, s) in sizes.chunks(3).enumerate() { - let size = u32::from(s[0]) + ((u32::from(s[1])) << 8) + ((u32::from(s[2])) << 8); + let size = u32::from(s[0]) + ((u32::from(s[1])) << 8) + ((u32::from(s[2])) << 16); let mut buf = Vec::with_capacity(size as usize); try!(self.r.by_ref().take(u64::from(size)).read_to_end(&mut buf)); @@ -1246,17 +1246,9 @@ impl VP8Decoder { self.left_border[i + 1] = ws[(i + 1) * stride + 16]; } - let ylength = if mby < self.mbheight as usize - 1 || self.frame.height % 16 == 0 { - 16usize - } else { - (16 - (self.frame.height as usize & 15)) % 16 - }; - - let xlength = if mbx < self.mbwidth as usize - 1 || self.frame.width % 16 == 0 { - 16usize - } else { - (16 - (self.frame.width as usize & 15)) % 16 - }; + // Length is the remainder to the border, but maximally the current chunk. + let ylength = cmp::min(self.frame.height as usize - mby*16, 16); + let xlength = cmp::min(self.frame.width as usize - mbx*16, 16); for y in 0usize..ylength { for x in 0usize..xlength { From fbb79d3fb6eb00e5ebd42d45bf99b936c64ee272 Mon Sep 17 00:00:00 2001 From: Birk Tjelmeland Date: Sun, 5 May 2019 15:58:09 +0200 Subject: [PATCH 22/39] Fix webp magic bytes --- src/dynimage.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/dynimage.rs b/src/dynimage.rs index 323a507266..311d1f2040 100644 --- a/src/dynimage.rs +++ b/src/dynimage.rs @@ -860,7 +860,7 @@ static MAGIC_BYTES: [(&'static [u8], ImageFormat); 17] = [ (&[0xff, 0xd8, 0xff], ImageFormat::JPEG), (b"GIF89a", ImageFormat::GIF), (b"GIF87a", ImageFormat::GIF), - (b"WEBP", ImageFormat::WEBP), + (b"RIFF", ImageFormat::WEBP), // TODO: better magic byte detection, see https://github.com/image-rs/image/issues/660 (b"MM.*", ImageFormat::TIFF), (b"II*.", ImageFormat::TIFF), (b"BM", ImageFormat::BMP), From 844971986277568bdb2e24a7eab9b926b33a3be7 Mon Sep 17 00:00:00 2001 From: Jonathan Behrens Date: Sun, 5 May 2019 17:31:26 -0400 Subject: [PATCH 23/39] Make hdr module more consistent with others --- src/hdr/{hdr_decoder.rs => decoder.rs} | 2 +- src/hdr/{hdr_encoder.rs => encoder.rs} | 0 src/hdr/mod.rs | 10 ++++------ src/lib.rs | 1 + 4 files changed, 6 insertions(+), 7 deletions(-) rename src/hdr/{hdr_decoder.rs => decoder.rs} (99%) rename src/hdr/{hdr_encoder.rs => encoder.rs} (100%) diff --git a/src/hdr/hdr_decoder.rs b/src/hdr/decoder.rs similarity index 99% rename from src/hdr/hdr_decoder.rs rename to src/hdr/decoder.rs index b540a17351..2e40fafe2b 100644 --- a/src/hdr/hdr_decoder.rs +++ b/src/hdr/decoder.rs @@ -1,4 +1,4 @@ -use super::scoped_threadpool::Pool; +use scoped_threadpool::Pool; use num_traits::cast::NumCast; use num_traits::identities::Zero; use std::mem; diff --git a/src/hdr/hdr_encoder.rs b/src/hdr/encoder.rs similarity index 100% rename from src/hdr/hdr_encoder.rs rename to src/hdr/encoder.rs diff --git a/src/hdr/mod.rs b/src/hdr/mod.rs index bccf5bd8d8..b3325bc648 100644 --- a/src/hdr/mod.rs +++ b/src/hdr/mod.rs @@ -8,10 +8,8 @@ //! * //! -extern crate scoped_threadpool; +mod decoder; +mod encoder; -mod hdr_decoder; -mod hdr_encoder; - -pub use self::hdr_decoder::*; -pub use self::hdr_encoder::*; +pub use self::decoder::*; +pub use self::encoder::*; diff --git a/src/lib.rs b/src/lib.rs index e131e3d774..9e19403b78 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -14,6 +14,7 @@ extern crate lzw; extern crate num_iter; extern crate num_rational; extern crate num_traits; +extern crate scoped_threadpool; #[cfg(all(test, feature = "benchmarks"))] extern crate test; From b4f4daa523e1f8bb868f0eabdbb301d0501ec6cd Mon Sep 17 00:00:00 2001 From: CensoredUsername Date: Sun, 5 May 2019 23:49:12 +0200 Subject: [PATCH 24/39] Fix a regression in the DXT encoder. --- src/dxt.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/dxt.rs b/src/dxt.rs index a2062c3c57..f050f23c63 100644 --- a/src/dxt.rs +++ b/src/dxt.rs @@ -618,7 +618,7 @@ fn encode_dxt_colors(source: &[u8], dest: &mut [u8]) { swap(&mut color0, &mut color1); // Indexes are packed 2 bits wide, swap index 0/1 but preserve 2/3. let filter = (chosen_indices & 0xAAAA_AAAA) >> 1; - chosen_indices ^= filter ^ 0x555_5555; + chosen_indices ^= filter ^ 0x5555_5555; } } else if !chosen_use_0 { swap(&mut color0, &mut color1); From 091d5a069d25ac81dccd520f05d49476488af9ff Mon Sep 17 00:00:00 2001 From: Jonathan Behrens Date: Sun, 5 May 2019 18:07:48 -0400 Subject: [PATCH 25/39] Use scope_threadpool crate only with hdr feature --- src/lib.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib.rs b/src/lib.rs index 9e19403b78..ea1a40e83f 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -14,6 +14,7 @@ extern crate lzw; extern crate num_iter; extern crate num_rational; extern crate num_traits; +#[cfg(feature = "hdr")] extern crate scoped_threadpool; #[cfg(all(test, feature = "benchmarks"))] extern crate test; From 6154fabc436d5828d9ed2e3c4b8f8dddd29c8086 Mon Sep 17 00:00:00 2001 From: Andreas Molzer Date: Fri, 3 May 2019 12:53:28 +0200 Subject: [PATCH 26/39] Remove panics in webp/vp8 decoding Most uncomplete matches are removed by creating proper enums in the webp implementation and parsing to those constant variants early on. Some unsupported operations are explicitely failed with a Unsupported error variant. --- src/webp/vp8.rs | 380 ++++++++++++++++++++++++++++++++---------------- 1 file changed, 258 insertions(+), 122 deletions(-) diff --git a/src/webp/vp8.rs b/src/webp/vp8.rs index fba8bc3e62..e5b7739dee 100644 --- a/src/webp/vp8.rs +++ b/src/webp/vp8.rs @@ -18,6 +18,7 @@ use std::{cmp, io}; use std::io::Read; use super::transform; +use ::{ImageError, ImageResult}; use math::utils::clamp; @@ -42,6 +43,57 @@ const B_VL_PRED: i8 = 7; const B_HD_PRED: i8 = 8; const B_HU_PRED: i8 = 9; +// Prediction mode enum +#[repr(i8)] +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +enum LumaMode { + /// Predict DC using row above and column to the left. + DC = DC_PRED, + + /// Predict rows using row above. + V = V_PRED, + + /// Predict columns using column to the left. + H = H_PRED, + + /// Propagate second differences. + TM = TM_PRED, + + /// Each Y subblock is independently predicted. + B = B_PRED, +} + +#[repr(i8)] +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +enum ChromaMode { + /// Predict DC using row above and column to the left. + DC = DC_PRED, + + /// Predict rows using row above. + V = V_PRED, + + /// Predict columns using column to the left. + H = H_PRED, + + /// Propagate second differences. + TM = TM_PRED, +} + +#[repr(i8)] +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +enum IntraMode { + DC = B_DC_PRED, + TM = B_TM_PRED, + VE = B_VE_PRED, + HE = B_HE_PRED, + LD = B_LD_PRED, + RD = B_RD_PRED, + VR = B_VR_PRED, + VL = B_VL_PRED, + HD = B_HD_PRED, + HU = B_HU_PRED, +} + type Prob = u8; static SEGMENT_ID_TREE: [i8; 6] = [2, 4, -0, -1, -2, -3]; @@ -643,17 +695,17 @@ impl BoolReader { self.bit_count = 0; } - pub fn read_bool(&mut self, probability: u8) -> u8 { + pub fn read_bool(&mut self, probability: u8) -> bool { let split = 1 + (((self.range - 1) * u32::from(probability)) >> 8); let bigsplit = split << 8; let retval = if self.value >= bigsplit { self.range -= split; self.value -= bigsplit; - 1 + true } else { self.range = split; - 0 + false }; while self.range < 128 { @@ -676,7 +728,7 @@ impl BoolReader { let mut n = n; while n != 0 { - v = (v << 1) + self.read_bool(128u8); + v = (v << 1) + self.read_bool(128u8) as u8; n -= 1; } @@ -715,27 +767,15 @@ impl BoolReader { } } -#[derive(Clone, Copy)] +#[derive(Default, Clone, Copy)] struct MacroBlock { - bpred: [i8; 16], + bpred: [IntraMode; 16], complexity: [u8; 9], - luma_mode: i8, - chroma_mode: i8, + luma_mode: LumaMode, + chroma_mode: ChromaMode, segmentid: u8, } -impl MacroBlock { - fn new() -> MacroBlock { - MacroBlock { - bpred: [0i8; 16], - complexity: [0u8; 9], - luma_mode: 0, - chroma_mode: 0, - segmentid: 0, - } - } -} - /// A Representation of the last decoded video frame #[derive(Default, Debug, Clone)] pub struct Frame { @@ -823,9 +863,9 @@ impl VP8Decoder { /// Create a new decoder. /// The reader must present a raw vp8 bitstream to the decoder pub fn new(r: R) -> VP8Decoder { - let f: Frame = Default::default(); - let s: Segment = Default::default(); - let m = MacroBlock::new(); + let f = Frame::default(); + let s = Segment::default(); + let m = MacroBlock::default(); VP8Decoder { r, @@ -874,7 +914,7 @@ impl VP8Decoder { for (j, js) in is.iter().enumerate() { for (k, ks) in js.iter().enumerate() { for (t, prob) in ks.iter().enumerate().take(NUM_DCT_TOKENS - 1) { - if self.b.read_bool(*prob) != 0 { + if self.b.read_bool(*prob) { let v = self.b.read_literal(8); self.token_probs[i][j][k][t] = v; } @@ -887,24 +927,25 @@ impl VP8Decoder { fn init_partitions(&mut self, n: usize) -> io::Result<()> { if n > 1 { let mut sizes = Vec::with_capacity(3 * n - 3); - try!( - self.r - .by_ref() - .take(3 * n as u64 - 3) - .read_to_end(&mut sizes) - ); + self.r + .by_ref() + .take(3 * n as u64 - 3) + .read_to_end(&mut sizes)?; for (i, s) in sizes.chunks(3).enumerate() { let size = u32::from(s[0]) + ((u32::from(s[1])) << 8) + ((u32::from(s[2])) << 16); let mut buf = Vec::with_capacity(size as usize); - try!(self.r.by_ref().take(u64::from(size)).read_to_end(&mut buf)); + self.r + .by_ref() + .take(u64::from(size)) + .read_to_end(&mut buf)?; self.partitions[i].init(buf); } } let mut buf = Vec::new(); - try!(self.r.read_to_end(&mut buf)); + self.r.read_to_end(&mut buf)?; self.partitions[n - 1].init(buf); Ok(()) @@ -1039,23 +1080,26 @@ impl VP8Decoder { } } - fn read_frame_header(&mut self) -> io::Result<()> { - let mut tag = [0u8; 3]; - try!(self.r.read_exact(&mut tag)); + fn read_frame_header(&mut self) -> ImageResult<()> { + let tag = self.r.read_u24::()?; - self.frame.keyframe = tag[0] & 1 == 0; - self.frame.version = (tag[0] >> 1) & 7; - self.frame.for_display = (tag[0] >> 4) & 1 != 0; + self.frame.keyframe = tag & 1 == 0; + self.frame.version = ((tag >> 1) & 7) as u8; + self.frame.for_display = (tag >> 4) & 1 != 0; - let first_partition_size = - ((u32::from(tag[2]) << 16) | (u32::from(tag[1]) << 8) | u32::from(tag[0])) >> 5; + let first_partition_size = tag >> 5; if self.frame.keyframe { - try!(self.r.read_exact(&mut tag)); - assert_eq!(tag, [0x9d, 0x01, 0x2a]); + let mut tag = [0u8; 3]; + self.r.read_exact(&mut tag)?; - let w = try!(self.r.read_u16::()); - let h = try!(self.r.read_u16::()); + if tag != [0x9d, 0x01, 0x2a] { + return Err(ImageError::FormatError( + format!("Invalid magic bytes {:?} for vp8", tag))) + } + + let w = self.r.read_u16::()?; + let h = self.r.read_u16::()?; self.frame.width = w & 0x3FFF; self.frame.height = h & 0x3FFF; @@ -1073,19 +1117,22 @@ impl VP8Decoder { } let mut buf = Vec::with_capacity(first_partition_size as usize); - try!( - self.r - .by_ref() - .take(u64::from(first_partition_size)) - .read_to_end(&mut buf) - ); + self.r + .by_ref() + .take(u64::from(first_partition_size)) + .read_to_end(&mut buf)?; + // initialise binary decoder self.b.init(buf); if self.frame.keyframe { let color_space = self.b.read_literal(1); self.frame.pixel_type = self.b.read_literal(1); - assert_eq!(color_space, 0); + + if color_space != 0 { + return Err(ImageError::FormatError( + format!("Only YUV color space is specified."))) + } } self.segments_enabled = self.b.read_flag(); @@ -1104,13 +1151,15 @@ impl VP8Decoder { self.num_partitions = (1usize << self.b.read_literal(2) as usize) as u8; let num_partitions = self.num_partitions as usize; - try!(self.init_partitions(num_partitions)); + self.init_partitions(num_partitions)?; self.read_quantization_indices(); if !self.frame.keyframe { // 9.7 refresh golden frame and altref frame - panic!("unimplemented") + return Err(ImageError::UnsupportedError( + "Frames that are not keyframes are not supported".into())) + // FIXME: support this? } else { // Refresh entropy probs ????? let _ = self.b.read_literal(1); @@ -1129,7 +1178,9 @@ impl VP8Decoder { // 9.10 remaining frame data self.prob_intra = 0; - panic!("unimplemented") + return Err(ImageError::UnsupportedError( + "Frames that are not keyframes are not supported".into())) + // FIXME: support this? } else { // Reset motion vectors } @@ -1137,8 +1188,8 @@ impl VP8Decoder { Ok(()) } - fn read_macroblock_header(&mut self, mbx: usize) -> (bool, MacroBlock) { - let mut mb = MacroBlock::new(); + fn read_macroblock_header(&mut self, mbx: usize) -> ImageResult<(bool, MacroBlock)> { + let mut mb = MacroBlock::default(); mb.segmentid = if self.segments_enabled && self.segments_update_map { self.b @@ -1148,67 +1199,75 @@ impl VP8Decoder { }; let skip_coeff = if self.prob_skip_false.is_some() { - 1 == self.b.read_bool(*self.prob_skip_false.as_ref().unwrap()) + self.b.read_bool(*self.prob_skip_false.as_ref().unwrap()) } else { false }; let inter_predicted = if !self.frame.keyframe { - 1 == self.b.read_bool(self.prob_intra) + self.b.read_bool(self.prob_intra) } else { false }; if inter_predicted { - panic!("inter prediction not implemented"); + return Err(ImageError::UnsupportedError( + "VP8 inter prediction is not implemented yet".into())); } if self.frame.keyframe { // intra prediction - mb.luma_mode = self.b + let luma = self.b .read_with_tree(&KEYFRAME_YMODE_TREE, &KEYFRAME_YMODE_PROBS, 0); - - if mb.luma_mode == B_PRED { - for y in 0usize..4 { - for x in 0usize..4 { - let top = self.top[mbx].bpred[12 + x]; - let left = self.left.bpred[y]; - let bmode = self.b.read_with_tree( - &KEYFRAME_BPRED_MODE_TREE, - &KEYFRAME_BPRED_MODE_PROBS[top as usize][left as usize], - 0, - ); - mb.bpred[x + y * 4] = bmode; - - self.top[mbx].bpred[12 + x] = bmode; - self.left.bpred[y] = bmode; + mb.luma_mode = LumaMode::from_i8(luma) + .ok_or_else(|| ImageError::FormatError( + format!("Invalid luma prediction mode {}", luma)) + )?; + + match mb.luma_mode.into_intra() { + // `LumaMode::B` - This is predicted individually + None => { + for y in 0usize..4 { + for x in 0usize..4 { + let top = self.top[mbx].bpred[12 + x]; + let left = self.left.bpred[y]; + let intra = self.b.read_with_tree( + &KEYFRAME_BPRED_MODE_TREE, + &KEYFRAME_BPRED_MODE_PROBS[top as usize][left as usize], + 0, + ); + let bmode = IntraMode::from_i8(intra) + .ok_or_else(|| ImageError::FormatError( + format!("Invalid intra prediction mode {}", intra)) + )?; + mb.bpred[x + y * 4] = bmode; + + self.top[mbx].bpred[12 + x] = bmode; + self.left.bpred[y] = bmode; + } + } + }, + Some(mode) => { + for i in 0usize..4 { + mb.bpred[12 + i] = mode; + self.left.bpred[i] = mode; } - } - } else { - for i in 0usize..4 { - let mode = match mb.luma_mode { - DC_PRED => B_DC_PRED, - V_PRED => B_VE_PRED, - H_PRED => B_HE_PRED, - TM_PRED => B_TM_PRED, - _ => panic!("unreachable"), - }; - - mb.bpred[12 + i] = mode; - self.left.bpred[i] = mode; } } - mb.chroma_mode = - self.b - .read_with_tree(&KEYFRAME_UV_MODE_TREE, &KEYFRAME_UV_MODE_PROBS, 0); + let chroma = self.b + .read_with_tree(&KEYFRAME_UV_MODE_TREE, &KEYFRAME_UV_MODE_PROBS, 0); + mb.chroma_mode = ChromaMode::from_i8(chroma) + .ok_or_else(|| ImageError::FormatError( + format!("Invalid chroma prediction mode {}", chroma)) + )?; } self.top[mbx].chroma_mode = mb.chroma_mode; self.top[mbx].luma_mode = mb.luma_mode; self.top[mbx].bpred = mb.bpred; - (skip_coeff, mb) + Ok((skip_coeff, mb)) } fn intra_predict(&mut self, mbx: usize, mby: usize, mb: &MacroBlock, resdata: &[i32]) { @@ -1218,15 +1277,14 @@ impl VP8Decoder { let mut ws = create_border(mbx, mby, mw, &self.top_border, &self.left_border); match mb.luma_mode { - V_PRED => predict_vpred(&mut ws, 16, 1, 1, stride), - H_PRED => predict_hpred(&mut ws, 16, 1, 1, stride), - TM_PRED => predict_tmpred(&mut ws, 16, 1, 1, stride), - DC_PRED => predict_dcpred(&mut ws, 16, stride, mby != 0, mbx != 0), - B_PRED => predict_4x4(&mut ws, stride, &mb.bpred, resdata), - _ => panic!("unknown luma intra prediction mode"), + LumaMode::V => predict_vpred(&mut ws, 16, 1, 1, stride), + LumaMode::H => predict_hpred(&mut ws, 16, 1, 1, stride), + LumaMode::TM => predict_tmpred(&mut ws, 16, 1, 1, stride), + LumaMode::DC => predict_dcpred(&mut ws, 16, stride, mby != 0, mbx != 0), + LumaMode::B => predict_4x4(&mut ws, stride, &mb.bpred, resdata), } - if mb.luma_mode != B_PRED { + if mb.luma_mode != LumaMode::B { for y in 0usize..4 { for x in 0usize..4 { let i = x + y * 4; @@ -1302,7 +1360,7 @@ impl VP8Decoder { let mut j = 0; while t[j] > 0 { - extra = extra + extra + i16::from(self.partitions[p].read_bool(t[j])); + extra = extra + extra + self.partitions[p].read_bool(t[j]) as i16; j += 1; } @@ -1322,7 +1380,7 @@ impl VP8Decoder { 2 }; - if self.partitions[p].read_bool(128) == 1 { + if self.partitions[p].read_bool(128) { abs_value = -abs_value; } @@ -1338,7 +1396,7 @@ impl VP8Decoder { fn read_residual_data(&mut self, mb: &MacroBlock, mbx: usize, p: usize) -> [i32; 384] { let sindex = mb.segmentid as usize; let mut blocks = [0i32; 384]; - let mut plane = if mb.luma_mode == B_PRED { 3 } else { 1 }; + let mut plane = if mb.luma_mode == LumaMode::B { 3 } else { 1 }; if plane == 1 { let complexity = self.top[mbx].complexity[0] + self.left.complexity[0]; @@ -1414,18 +1472,26 @@ impl VP8Decoder { /// Decodes the current frame and returns a reference to it pub fn decode_frame(&mut self) -> io::Result<&Frame> { - try!(self.read_frame_header()); + // FIXME: hack to keep the public return type. + self.read_frame_header().map_err(|err| match err { + ImageError::IoError(err) => err, + other => io::Error::new(io::ErrorKind::InvalidData, other), + })?; for mby in 0..self.mbheight as usize { let p = mby % self.num_partitions as usize; - self.left = MacroBlock::new(); + self.left = MacroBlock::default(); for mbx in 0..self.mbwidth as usize { - let (skip, mb) = self.read_macroblock_header(mbx); + // FIXME: hack to keep the public return type. + let (skip, mb) = self.read_macroblock_header(mbx).map_err(|err| match err { + ImageError::IoError(err) => err, + other => io::Error::new(io::ErrorKind::InvalidData, other), + })?; let blocks = if !skip { self.read_residual_data(&mb, mbx, p) } else { - if mb.luma_mode != B_PRED { + if mb.luma_mode != LumaMode::B { self.left.complexity[0] = 0; self.top[mbx].complexity[0] = 0; } @@ -1448,17 +1514,88 @@ impl VP8Decoder { } } +impl LumaMode { + fn from_i8(val: i8) -> Option { + Some(match val { + DC_PRED => LumaMode::DC, + V_PRED => LumaMode::V, + H_PRED => LumaMode::H, + TM_PRED => LumaMode::TM, + B_PRED => LumaMode::B, + _ => return None, + }) + } + + fn into_intra(self) -> Option { + Some(match self { + LumaMode::DC => IntraMode::DC, + LumaMode::V => IntraMode::VE, + LumaMode::H => IntraMode::HE, + LumaMode::TM => IntraMode::TM, + LumaMode::B => return None, + }) + } +} + +impl Default for LumaMode { + fn default() -> Self { + LumaMode::DC + } +} + +impl ChromaMode { + fn from_i8(val: i8) -> Option { + Some(match val { + DC_PRED => ChromaMode::DC, + V_PRED => ChromaMode::V, + H_PRED => ChromaMode::H, + TM_PRED => ChromaMode::TM, + _ => return None, + }) + } +} + +impl Default for ChromaMode { + fn default() -> Self { + ChromaMode::DC + } +} + +impl IntraMode { + fn from_i8(val: i8) -> Option { + Some(match val { + B_DC_PRED => IntraMode::DC, + B_TM_PRED => IntraMode::TM, + B_VE_PRED => IntraMode::VE, + B_HE_PRED => IntraMode::HE, + B_LD_PRED => IntraMode::LD, + B_RD_PRED => IntraMode::RD, + B_VR_PRED => IntraMode::VR, + B_VL_PRED => IntraMode::VL, + B_HD_PRED => IntraMode::HD, + B_HU_PRED => IntraMode::HU, + _ => return None, + }) + } +} + +impl Default for IntraMode { + fn default() -> Self { + IntraMode::DC + } +} + fn init_top_macroblocks(width: usize) -> Vec { let mb_width = (width + 15) / 16; let mb = MacroBlock { // Section 11.3 #3 - bpred: [B_DC_PRED; 16], - luma_mode: DC_PRED, - ..MacroBlock::new() + bpred: [IntraMode::DC; 16], + luma_mode: LumaMode::DC, + .. MacroBlock::default() }; - (0..mb_width).map(|_| mb).collect() + vec![mb; mb_width] } fn create_border(mbx: usize, mby: usize, mbw: usize, top: &[u8], left: &[u8]) -> [u8; 357] { @@ -1539,7 +1676,7 @@ fn add_residue(pblock: &mut [u8], rblock: &[i32], y0: usize, x0: usize, stride: } } -fn predict_4x4(ws: &mut [u8], stride: usize, modes: &[i8], resdata: &[i32]) { +fn predict_4x4(ws: &mut [u8], stride: usize, modes: &[IntraMode], resdata: &[i32]) { for sby in 0usize..4 { for sbx in 0usize..4 { let i = sbx + sby * 4; @@ -1548,17 +1685,16 @@ fn predict_4x4(ws: &mut [u8], stride: usize, modes: &[i8], resdata: &[i32]) { let rb = &resdata[i * 16..i * 16 + 16]; match modes[i] { - B_TM_PRED => predict_tmpred(ws, 4, x0, y0, stride), - B_VE_PRED => predict_bvepred(ws, x0, y0, stride), - B_HE_PRED => predict_bhepred(ws, x0, y0, stride), - B_DC_PRED => predict_bdcpred(ws, x0, y0, stride), - B_LD_PRED => predict_bldpred(ws, x0, y0, stride), - B_RD_PRED => predict_brdpred(ws, x0, y0, stride), - B_VR_PRED => predict_bvrpred(ws, x0, y0, stride), - B_VL_PRED => predict_bvlpred(ws, x0, y0, stride), - B_HD_PRED => predict_bhdpred(ws, x0, y0, stride), - B_HU_PRED => predict_bhupred(ws, x0, y0, stride), - _ => panic!("unknown intra bmode"), + IntraMode::TM => predict_tmpred(ws, 4, x0, y0, stride), + IntraMode::VE => predict_bvepred(ws, x0, y0, stride), + IntraMode::HE => predict_bhepred(ws, x0, y0, stride), + IntraMode::DC => predict_bdcpred(ws, x0, y0, stride), + IntraMode::LD => predict_bldpred(ws, x0, y0, stride), + IntraMode::RD => predict_brdpred(ws, x0, y0, stride), + IntraMode::VR => predict_bvrpred(ws, x0, y0, stride), + IntraMode::VL => predict_bvlpred(ws, x0, y0, stride), + IntraMode::HD => predict_bhdpred(ws, x0, y0, stride), + IntraMode::HU => predict_bhupred(ws, x0, y0, stride), } add_residue(ws, rb, y0, x0, stride); From 58775796857ce6b7c28822aedf8f87413b2cf266 Mon Sep 17 00:00:00 2001 From: Andreas Molzer Date: Fri, 3 May 2019 16:15:30 +0200 Subject: [PATCH 27/39] Fix panics when loading incomplete prediction initialization data --- src/webp/vp8.rs | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/src/webp/vp8.rs b/src/webp/vp8.rs index e5b7739dee..f7371b7b87 100644 --- a/src/webp/vp8.rs +++ b/src/webp/vp8.rs @@ -926,19 +926,15 @@ impl VP8Decoder { fn init_partitions(&mut self, n: usize) -> io::Result<()> { if n > 1 { - let mut sizes = Vec::with_capacity(3 * n - 3); - self.r - .by_ref() - .take(3 * n as u64 - 3) - .read_to_end(&mut sizes)?; + let mut sizes = vec![0; 3 * n - 3]; + self.r.read_exact(sizes.as_mut_slice())?; for (i, s) in sizes.chunks(3).enumerate() { - let size = u32::from(s[0]) + ((u32::from(s[1])) << 8) + ((u32::from(s[2])) << 16); - let mut buf = Vec::with_capacity(size as usize); - self.r - .by_ref() - .take(u64::from(size)) - .read_to_end(&mut buf)?; + let size = {s}.read_u24::() + .expect("Reading from &[u8] can't fail and the chunk is complete"); + + let mut buf = vec![0; size as usize]; + self.r.read_exact(buf.as_mut_slice())?; self.partitions[i].init(buf); } From d9c46810d329cb6ffc71a91aa422a2881127ac4d Mon Sep 17 00:00:00 2001 From: Andreas Molzer Date: Fri, 3 May 2019 18:28:08 +0200 Subject: [PATCH 28/39] Add afl fuzzer setup for webp Includes two seeds that were small enough to be viable. They are simply converted (with imagemagick) samples from the tests/images/ directory. This is good enough for the first few failures and panics. If you want a larger corpus, you can put other images into the directory although larger images can slow the fuzzer down without necessarily giving larger coverage. --- fuzz-afl/Cargo.toml | 4 ++++ fuzz-afl/fuzzers/fuzzer_script_webp.rs | 22 ++++++++++++++++++++++ fuzz-afl/in/webp/tbbn0g04.webp | Bin 0 -> 426 bytes fuzz-afl/in/webp/tbwn3p08.webp | Bin 0 -> 642 bytes 4 files changed, 26 insertions(+) create mode 100644 fuzz-afl/fuzzers/fuzzer_script_webp.rs create mode 100644 fuzz-afl/in/webp/tbbn0g04.webp create mode 100644 fuzz-afl/in/webp/tbwn3p08.webp diff --git a/fuzz-afl/Cargo.toml b/fuzz-afl/Cargo.toml index b45506684e..78fda3b059 100644 --- a/fuzz-afl/Cargo.toml +++ b/fuzz-afl/Cargo.toml @@ -17,3 +17,7 @@ members = ["."] [[bin]] name = "fuzzer_script_pnm" path = "fuzzers/fuzzer_script_pnm.rs" + +[[bin]] +name = "fuzzer_script_webp" +path = "fuzzers/fuzzer_script_webp.rs" diff --git a/fuzz-afl/fuzzers/fuzzer_script_webp.rs b/fuzz-afl/fuzzers/fuzzer_script_webp.rs new file mode 100644 index 0000000000..2b8b2238d7 --- /dev/null +++ b/fuzz-afl/fuzzers/fuzzer_script_webp.rs @@ -0,0 +1,22 @@ +extern crate afl; +extern crate image; + +use image::ImageDecoder; + +#[inline(always)] +fn webp_decode(data: &[u8]) -> image::ImageResult> { + let decoder = image::webp::WebpDecoder::new(data)?; + let (width, height) = decoder.dimensions(); + + if width.saturating_mul(height) > 4_000_000 { + return Err(image::ImageError::DimensionError); + } + + decoder.read_image() +} + +fn main() { + afl::fuzz(|data| { + let _ = webp_decode(data); + }); +} diff --git a/fuzz-afl/in/webp/tbbn0g04.webp b/fuzz-afl/in/webp/tbbn0g04.webp new file mode 100644 index 0000000000000000000000000000000000000000..be261bd02380c8d3649cfa4be724fae7f73de7f2 GIT binary patch literal 426 zcmV;b0agA|Nk&GZ0RRA3MM6+kP&il$0000G0000V0018V06|PpNJRhu009p${}B;_ zO>A3nZuSxhNQpF%h7=^E+;b}u3laUF0NSO4J%EX-!>;T7Y1jBG{M&SCRUL|US>a7^ zN7w_@1Rl$cy_~z1X0*5Bg50${OAzbN^p1OtB#!>b9;|`$R+r- zMld-}uzo}Q5WQFbKUMsfY;vf~XLL8S{)bED{LN4xR4hJZ5+eFP0X&xm)&NS?>D2Tou78A2)AFV(+GGW1I1{W9 z>I9{O+yDSpP&gnG0ssIo3ILq}Dj)zL06vjGnMoz1q9G^>sIU?VYyhk;0hEizf8ad8 zMUwgebdpSbS_0@2tY&xPuj!9qK8~J%1+x~b{Ov9S`_~JCBVP^c_A+Owi4*0N9C4o{ z0092?>2S|x@^9?k<@~r&ba2~o$`Vu4D^0ZR_Utra|v?w#vv454EUxlc4f2ooo8IcWcvbwo(r$0|Y#&%z|2XHD2+H@BjH}yJb4eE_e#vxuXx5V-@`W=j&(m c|ARRT$NGQLp_Mwz)xz35Uz0O?>cRRj0PwIld;kCd literal 0 HcmV?d00001 From a2fc04b775d3dde7ccfa82534aab06aa3b305526 Mon Sep 17 00:00:00 2001 From: Andreas Molzer Date: Fri, 3 May 2019 18:43:00 +0200 Subject: [PATCH 29/39] Test for minimum entropy decoder input length This seems to originate from one of the samples provided in the RFC, specifically on page 23. A working version, that does the check for its input length, can be found in the attached implementation in section 20. This error is diagnosed as a FormatError. --- src/webp/vp8.rs | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/src/webp/vp8.rs b/src/webp/vp8.rs index f7371b7b87..b84d40ecb0 100644 --- a/src/webp/vp8.rs +++ b/src/webp/vp8.rs @@ -682,17 +682,20 @@ impl BoolReader { } } - pub fn init(&mut self, buf: Vec) { - self.buf = buf; - self.value = 0; - - for _ in 0usize..2 { - self.value = (self.value << 8) | u32::from(self.buf[self.index]); - self.index += 1; + pub fn init(&mut self, buf: Vec) -> ImageResult<()> { + if buf.len() < 2 { + return Err(ImageError::FormatError( + "Expected at least 2 bytes of decoder initialization data".into())); } + self.buf = buf; + // Direct access safe, since length has just been validated. + self.value = (u32::from(self.buf[0]) << 8) | u32::from(self.buf[1]); + self.index = 2; self.range = 255; self.bit_count = 0; + + Ok(()) } pub fn read_bool(&mut self, probability: u8) -> bool { @@ -924,7 +927,7 @@ impl VP8Decoder { } } - fn init_partitions(&mut self, n: usize) -> io::Result<()> { + fn init_partitions(&mut self, n: usize) -> ImageResult<()> { if n > 1 { let mut sizes = vec![0; 3 * n - 3]; self.r.read_exact(sizes.as_mut_slice())?; @@ -936,13 +939,13 @@ impl VP8Decoder { let mut buf = vec![0; size as usize]; self.r.read_exact(buf.as_mut_slice())?; - self.partitions[i].init(buf); + self.partitions[i].init(buf)?; } } let mut buf = Vec::new(); self.r.read_to_end(&mut buf)?; - self.partitions[n - 1].init(buf); + self.partitions[n - 1].init(buf)?; Ok(()) } @@ -1119,7 +1122,7 @@ impl VP8Decoder { .read_to_end(&mut buf)?; // initialise binary decoder - self.b.init(buf); + self.b.init(buf)?; if self.frame.keyframe { let color_space = self.b.read_literal(1); From e9e3b5648f52a885da079216e73ea3f1fb3ac12d Mon Sep 17 00:00:00 2001 From: Andreas Molzer Date: Fri, 3 May 2019 18:58:00 +0200 Subject: [PATCH 30/39] Ensure to read all input from the vp8 partition A partition not containing as much data as claimed in the header is a format error. While ignoring it at that moment will likely lead to some later issues, it is better to check that the read has indeed taken place. --- src/webp/vp8.rs | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/webp/vp8.rs b/src/webp/vp8.rs index b84d40ecb0..abe016883c 100644 --- a/src/webp/vp8.rs +++ b/src/webp/vp8.rs @@ -1115,11 +1115,8 @@ impl VP8Decoder { self.left_border = vec![129u8; 1 + 16]; } - let mut buf = Vec::with_capacity(first_partition_size as usize); - self.r - .by_ref() - .take(u64::from(first_partition_size)) - .read_to_end(&mut buf)?; + let mut buf = vec![0; first_partition_size as usize]; + self.r.read_exact(&mut buf)?; // initialise binary decoder self.b.init(buf)?; From 2731d7620ff9293625e0a829aca87011329bdb11 Mon Sep 17 00:00:00 2001 From: Andreas Molzer Date: Fri, 3 May 2019 19:20:00 +0200 Subject: [PATCH 31/39] Avoid panicking on missing bits of entropy Simply do not refresh the cache state when bits are required during the decoding process than can be read into the decoder. This strategy is suggested in the reference implementation of the RFC. --- src/webp/vp8.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/webp/vp8.rs b/src/webp/vp8.rs index abe016883c..07dac6dfc7 100644 --- a/src/webp/vp8.rs +++ b/src/webp/vp8.rs @@ -718,8 +718,13 @@ impl BoolReader { if self.bit_count == 8 { self.bit_count = 0; - self.value |= u32::from(self.buf[self.index]); - self.index += 1; + + // If no more bits are available, just don't do anything. + // This strategy is suggested in the reference implementation of RFC6386 (p.135) + if self.index < self.buf.len() { + self.value |= u32::from(self.buf[self.index]); + self.index += 1; + } } } From 00d520cdb4cc558efc11eb35b9efb66bedc4ec04 Mon Sep 17 00:00:00 2001 From: Andreas Molzer Date: Fri, 3 May 2019 20:08:56 +0200 Subject: [PATCH 32/39] Fix multiplication range error in quantization At least one of the table entries can exceed the range of a signed 16-bit integer in an intermediate result. The reference implementation used an `int` of unspecified width for this but this is wasteful in terms of size of the table (albeit only slightly since the table is small). --- src/webp/vp8.rs | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/src/webp/vp8.rs b/src/webp/vp8.rs index 07dac6dfc7..9b74c19078 100644 --- a/src/webp/vp8.rs +++ b/src/webp/vp8.rs @@ -956,6 +956,14 @@ impl VP8Decoder { } fn read_quantization_indices(&mut self) { + fn dc_quant(index: i32) -> i16 { + DC_QUANT[clamp(index, 0, 127) as usize] + } + + fn ac_quant(index: i32) -> i16 { + AC_QUANT[clamp(index, 0, 127) as usize] + } + let yac_abs = self.b.read_literal(7); let ydc_delta = if self.b.read_flag() { self.b.read_magnitude_and_sign(4) @@ -999,14 +1007,15 @@ impl VP8Decoder { i16::from(self.segment[i].quantizer_level) + i16::from(yac_abs) }); - self.segment[i].ydc = DC_QUANT[clamp(base + ydc_delta, 0, 127) as usize]; - self.segment[i].yac = AC_QUANT[clamp(base, 0, 127) as usize]; + self.segment[i].ydc = dc_quant(base + ydc_delta); + self.segment[i].yac = ac_quant(base); - self.segment[i].y2dc = DC_QUANT[clamp(base + y2dc_delta, 0, 127) as usize] * 2; - self.segment[i].y2ac = AC_QUANT[clamp(base + y2ac_delta, 0, 127) as usize] * 155 / 100; + self.segment[i].y2dc = dc_quant(base + y2dc_delta) * 2; + // The intermediate result (max`284*155`) can be larger than the `i16` range. + self.segment[i].y2ac = (i32::from(ac_quant(base + y2ac_delta)) * 155 / 100) as i16; - self.segment[i].uvdc = DC_QUANT[clamp(base + uvdc_delta, 0, 127) as usize]; - self.segment[i].uvac = AC_QUANT[clamp(base + uvac_delta, 0, 127) as usize]; + self.segment[i].uvdc = dc_quant(base + uvdc_delta); + self.segment[i].uvac = ac_quant(base + uvac_delta); if self.segment[i].y2ac < 8 { self.segment[i].y2ac = 8; From 51c3a0a4d16509c0435b8fee12aba98700ab9f38 Mon Sep 17 00:00:00 2001 From: Andreas Molzer Date: Fri, 3 May 2019 20:57:05 +0200 Subject: [PATCH 33/39] Avoid depending on at least on block in the image --- src/webp/vp8.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/webp/vp8.rs b/src/webp/vp8.rs index 9b74c19078..1c4426a4c9 100644 --- a/src/webp/vp8.rs +++ b/src/webp/vp8.rs @@ -1118,7 +1118,9 @@ impl VP8Decoder { self.frame.height = h & 0x3FFF; self.top = init_top_macroblocks(self.frame.width as usize); - self.left = MacroBlock { ..self.top[0] }; + // Almost always the first macro block, except when non exists (i.e. `width == 0`) + self.left = self.top.get(0).cloned() + .unwrap_or_else(MacroBlock::default); self.mbwidth = (self.frame.width + 15) / 16; self.mbheight = (self.frame.height + 15) / 16; From 03668b41bf763debdf6f01388048704e2a7deacb Mon Sep 17 00:00:00 2001 From: Andreas Molzer Date: Fri, 3 May 2019 23:10:57 +0200 Subject: [PATCH 34/39] Add current minimized webp corpus --- fuzz-afl/in/webp/id_000000,orig_tbbn0g04.webp | 1 + .../id_000004,src_000001,op_flip4,pos_15,+cov | 1 + .../webp/id_000010,src_000001,op_havoc,rep_128 | 1 + .../webp/id_000011,src_000001,op_havoc,rep_32 | 1 + .../webp/id_000012,src_000001,op_havoc,rep_64 | 1 + .../id_000015,src_000004,op_flip2,pos_20,+cov | 1 + ...017,src_000004,op_arith8,pos_20,val_+17,+cov | Bin 0 -> 641 bytes .../webp/id_000026,src_000014,op_havoc,rep_32 | Bin 0 -> 641 bytes .../webp/id_000031,src_000014,op_havoc,rep_32 | Bin 0 -> 585 bytes .../webp/id_000032,src_000014,op_havoc,rep_64 | Bin 0 -> 537 bytes .../id_000034,src_000014,op_havoc,rep_64,+cov | Bin 0 -> 545 bytes .../id_000038,src_000014,op_havoc,rep_128,+cov | Bin 0 -> 514 bytes ...053,src_000016,op_arith8,pos_23,val_-17,+cov | Bin 0 -> 641 bytes ..._000055,src_000016,op_arith16,pos_23,val_-23 | Bin 0 -> 641 bytes .../webp/id_000057,src_000024,op_flip8,pos_23 | Bin 0 -> 545 bytes ...d_000058,src_000024,op_arith16,pos_23,val_-2 | Bin 0 -> 545 bytes ..._000060,src_000024,op_arith16,pos_23,val_-17 | Bin 0 -> 545 bytes ...00061,src_000024,op_int8,pos_21,val_+64,+cov | Bin 0 -> 545 bytes .../webp/id_000063,src_000024,op_havoc,rep_64 | Bin 0 -> 385 bytes .../id_000064,src_000024,op_havoc,rep_64,+cov | Bin 0 -> 385 bytes ...d_000067,src_000030,op_arith8,pos_23,val_-17 | Bin 0 -> 641 bytes ..._000070,src_000042,op_int32,pos_23,val_+1000 | Bin 0 -> 344 bytes .../webp/id_000072,src_000042,op_havoc,rep_64 | Bin 0 -> 279 bytes .../id_000073,src_000042,op_havoc,rep_128,+cov | 1 + .../webp/id_000074,src_000042,op_havoc,rep_128 | 1 + .../id_000076,src_000042,op_havoc,rep_128,+cov | 1 + .../webp/id_000077,src_000055,op_flip4,pos_24 | Bin 0 -> 641 bytes .../webp/id_000078,src_000062,op_flip1,pos_42 | Bin 0 -> 545 bytes .../webp/id_000079,src_000069,op_havoc,rep_128 | 1 + .../id_000095,src_000081,op_flip1,pos_26,+cov | Bin 0 -> 641 bytes ...ebp => id_000110,src_000081,op_flip1,pos_29} | Bin 642 -> 641 bytes .../webp/id_000111,src_000081,op_flip1,pos_29 | Bin 0 -> 641 bytes .../id_000113,src_000081,op_flip1,pos_30,+cov | Bin 0 -> 641 bytes .../id_000115,src_000081,op_flip1,pos_38,+cov | Bin 0 -> 641 bytes .../id_000132,src_000081,op_flip1,pos_46,+cov | Bin 0 -> 642 bytes .../webp/id_000135,src_000081,op_flip1,pos_47 | Bin 0 -> 641 bytes .../webp/id_000137,src_000081,op_flip1,pos_47 | Bin 0 -> 641 bytes .../webp/id_000141,src_000081,op_flip1,pos_49 | Bin 0 -> 641 bytes .../webp/id_000143,src_000081,op_flip1,pos_50 | Bin 0 -> 641 bytes .../webp/id_000145,src_000081,op_flip1,pos_52 | Bin 0 -> 641 bytes .../webp/id_000151,src_000081,op_flip1,pos_113 | Bin 0 -> 641 bytes .../webp/id_000154,src_000081,op_flip2,pos_26 | Bin 0 -> 641 bytes .../webp/id_000156,src_000081,op_flip2,pos_27 | Bin 0 -> 641 bytes .../webp/id_000161,src_000081,op_flip2,pos_46 | Bin 0 -> 641 bytes .../webp/id_000166,src_000081,op_flip2,pos_111 | Bin 0 -> 641 bytes .../webp/id_000177,src_000081,op_flip4,pos_54 | Bin 0 -> 641 bytes .../webp/id_000178,src_000081,op_flip16,pos_47 | Bin 0 -> 641 bytes ...d_000180,src_000081,op_arith8,pos_26,val_+23 | Bin 0 -> 641 bytes ...d_000181,src_000081,op_arith8,pos_26,val_+33 | Bin 0 -> 641 bytes ...id_000183,src_000081,op_arith8,pos_27,val_+7 | Bin 0 -> 641 bytes ...d_000192,src_000081,op_arith8,pos_29,val_+17 | Bin 0 -> 641 bytes ...d_000197,src_000081,op_arith8,pos_49,val_-11 | Bin 0 -> 641 bytes ...d_000198,src_000081,op_arith8,pos_49,val_+18 | Bin 0 -> 641 bytes ...d_000200,src_000081,op_arith8,pos_52,val_+24 | Bin 0 -> 641 bytes ..._000202,src_000081,op_arith8,pos_112,val_-33 | Bin 0 -> 641 bytes ..._000203,src_000081,op_arith8,pos_113,val_+34 | Bin 0 -> 641 bytes ..._000210,src_000081,op_int16,pos_28,val_+1024 | Bin 0 -> 641 bytes .../id_000214,src_000081,op_int32,pos_26,val_+0 | Bin 0 -> 641 bytes ..._000215,src_000081,op_int32,pos_26,val_be_+1 | Bin 0 -> 641 bytes ...id_000216,src_000081,op_int32,pos_26,val_+64 | Bin 0 -> 641 bytes ...00217,src_000081,op_int32,pos_26,val_be_+100 | Bin 0 -> 641 bytes ...00219,src_000081,op_int32,pos_26,val_be_+512 | Bin 0 -> 641 bytes ...220,src_000081,op_int32,pos_26,val_be_+32767 | Bin 0 -> 641 bytes ...221,src_000081,op_int32,pos_26,val_be_+32768 | Bin 0 -> 641 bytes .../id_000222,src_000081,op_int32,pos_28,val_+1 | Bin 0 -> 641 bytes ...d_000224,src_000081,op_int32,pos_28,val_+127 | Bin 0 -> 641 bytes ...d_000226,src_000081,op_int32,pos_28,val_+512 | Bin 0 -> 641 bytes .../id_000228,src_000081,op_int32,pos_29,val_+1 | Bin 0 -> 641 bytes .../in/webp/id_000238,src_000081,op_havoc,rep_8 | Bin 0 -> 584 bytes .../in/webp/id_000239,src_000081,op_havoc,rep_2 | Bin 0 -> 641 bytes .../webp/id_000241,src_000081,op_havoc,rep_64 | Bin 0 -> 592 bytes .../in/webp/id_000244,src_000081,op_havoc,rep_8 | Bin 0 -> 641 bytes .../webp/id_000247,src_000081,op_havoc,rep_16 | Bin 0 -> 641 bytes .../webp/id_000248,src_000081,op_havoc,rep_32 | Bin 0 -> 631 bytes .../in/webp/id_000252,src_000081,op_havoc,rep_8 | Bin 0 -> 603 bytes .../webp/id_000253,src_000081,op_havoc,rep_32 | Bin 0 -> 569 bytes .../in/webp/id_000255,src_000081,op_havoc,rep_4 | Bin 0 -> 576 bytes .../webp/id_000258,src_000081,op_havoc,rep_16 | Bin 0 -> 625 bytes .../id_000260,src_000081,op_havoc,rep_32,+cov | Bin 0 -> 642 bytes .../webp/id_000263,src_000081,op_havoc,rep_16 | Bin 0 -> 591 bytes .../in/webp/id_000264,src_000081,op_havoc,rep_8 | Bin 0 -> 625 bytes .../webp/id_000266,src_000081,op_havoc,rep_32 | Bin 0 -> 726 bytes .../webp/id_000270,src_000081,op_havoc,rep_16 | Bin 0 -> 590 bytes .../webp/id_000271,src_000081,op_havoc,rep_16 | Bin 0 -> 608 bytes .../webp/id_000274,src_000081,op_havoc,rep_16 | Bin 0 -> 650 bytes .../in/webp/id_000275,src_000081,op_havoc,rep_8 | Bin 0 -> 573 bytes .../webp/id_000276,src_000081,op_havoc,rep_16 | Bin 0 -> 643 bytes .../webp/id_000278,src_000081,op_havoc,rep_64 | Bin 0 -> 578 bytes .../webp/id_000279,src_000081,op_havoc,rep_64 | Bin 0 -> 529 bytes .../webp/id_000281,src_000081,op_havoc,rep_16 | Bin 0 -> 604 bytes .../webp/id_000284,src_000081,op_havoc,rep_32 | Bin 0 -> 636 bytes .../webp/id_000285,src_000081,op_havoc,rep_16 | Bin 0 -> 592 bytes .../in/webp/id_000287,src_000081,op_havoc,rep_8 | Bin 0 -> 641 bytes .../webp/id_000288,src_000081,op_havoc,rep_32 | Bin 0 -> 652 bytes .../in/webp/id_000290,src_000081,op_havoc,rep_8 | Bin 0 -> 660 bytes .../webp/id_000292,src_000081,op_havoc,rep_16 | Bin 0 -> 640 bytes .../webp/id_000293,src_000081,op_havoc,rep_64 | Bin 0 -> 724 bytes .../webp/id_000300,src_000086,op_flip2,pos_26 | Bin 0 -> 641 bytes ...d_000303,src_000086,op_arith8,pos_27,val_+10 | Bin 0 -> 641 bytes ...d_000304,src_000086,op_arith8,pos_27,val_+17 | Bin 0 -> 641 bytes ..._000306,src_000086,op_int16,pos_28,val_+1000 | Bin 0 -> 641 bytes ..._000307,src_000086,op_int32,pos_28,val_+4096 | Bin 0 -> 641 bytes ...9,src_000086,op_int32,pos_56,val_+2147483647 | Bin 0 -> 641 bytes .../webp/id_000310,src_000086,op_ext_AO,pos_28 | Bin 0 -> 641 bytes .../webp/id_000315,src_000086,op_havoc,rep_32 | Bin 0 -> 545 bytes .../webp/id_000316,src_000086,op_havoc,rep_32 | Bin 0 -> 649 bytes .../webp/id_000317,src_000086,op_havoc,rep_16 | Bin 0 -> 651 bytes .../in/webp/id_000319,src_000086,op_havoc,rep_8 | Bin 0 -> 627 bytes .../in/webp/id_000320,src_000086,op_havoc,rep_4 | Bin 0 -> 641 bytes .../in/webp/id_000321,src_000086,op_havoc,rep_4 | Bin 0 -> 641 bytes ..._000323,src_000124,op_int16,pos_26,val_+4096 | Bin 0 -> 641 bytes .../id_000324,src_000124,op_int32,pos_29,val_+1 | Bin 0 -> 641 bytes .../in/webp/id_000325,src_000124,op_havoc,rep_8 | Bin 0 -> 585 bytes .../webp/id_000326,src_000124,op_havoc,rep_64 | Bin 0 -> 677 bytes .../in/webp/id_000327,src_000124,op_havoc,rep_8 | Bin 0 -> 549 bytes .../webp/id_000328,src_000124,op_havoc,rep_16 | Bin 0 -> 625 bytes .../webp/id_000330,src_000124,op_havoc,rep_128 | Bin 0 -> 574 bytes .../webp/id_000332,src_000124,op_havoc,rep_64 | Bin 0 -> 545 bytes .../webp/id_000333,src_000124,op_havoc,rep_16 | Bin 0 -> 643 bytes .../webp/id_000334,src_000124,op_havoc,rep_32 | Bin 0 -> 633 bytes .../in/webp/id_000335,src_000125,op_havoc,rep_8 | Bin 0 -> 651 bytes .../webp/id_000336,src_000125,op_havoc,rep_16 | Bin 0 -> 625 bytes .../webp/id_000338,src_000125,op_havoc,rep_128 | Bin 0 -> 541 bytes .../webp/id_000339,src_000125,op_havoc,rep_32 | Bin 0 -> 585 bytes .../webp/id_000341,src_000125,op_havoc,rep_32 | Bin 0 -> 696 bytes .../webp/id_000342,src_000125,op_havoc,rep_64 | Bin 0 -> 591 bytes .../webp/id_000343,src_000127,op_havoc,rep_64 | Bin 0 -> 584 bytes .../webp/id_000344,src_000127,op_havoc,rep_32 | Bin 0 -> 641 bytes .../webp/id_000345,src_000127,op_havoc,rep_16 | Bin 0 -> 565 bytes .../webp/id_000346,src_000152,op_flip1,pos_44 | Bin 0 -> 641 bytes .../webp/id_000347,src_000152,op_flip1,pos_46 | Bin 0 -> 641 bytes .../webp/id_000348,src_000152,op_flip1,pos_55 | Bin 0 -> 641 bytes ...d_000350,src_000152,op_arith8,pos_27,val_+13 | Bin 0 -> 641 bytes ...d_000351,src_000152,op_arith8,pos_46,val_-11 | Bin 0 -> 641 bytes ...d_000352,src_000152,op_arith8,pos_74,val_-32 | Bin 0 -> 641 bytes ...d_000353,src_000152,op_arith8,pos_96,val_+11 | Bin 0 -> 641 bytes ...d_000354,src_000152,op_arith8,pos_205,val_-5 | Bin 0 -> 641 bytes .../id_000355,src_000152,op_int8,pos_34,val_-1 | Bin 0 -> 641 bytes .../webp/id_000356,src_000152,op_ext_AO,pos_50 | Bin 0 -> 641 bytes ...d_000359,src_000154,op_arith8,pos_28,val_-29 | Bin 0 -> 641 bytes .../id_000362,src_000154,op_int32,pos_28,val_+1 | Bin 0 -> 641 bytes .../webp/id_000363,src_000154,op_havoc,rep_32 | Bin 0 -> 590 bytes .../webp/id_000364,src_000154,op_havoc,rep_16 | Bin 0 -> 614 bytes .../webp/id_000365,src_000154,op_havoc,rep_32 | Bin 0 -> 580 bytes .../webp/id_000367,src_000175,op_havoc,rep_32 | Bin 0 -> 662 bytes .../webp/id_000368,src_000189,op_flip2,pos_26 | Bin 0 -> 641 bytes ...d_000369,src_000189,op_arith8,pos_26,val_-25 | Bin 0 -> 641 bytes ...d_000370,src_000189,op_arith8,pos_26,val_-29 | Bin 0 -> 642 bytes ...d_000371,src_000189,op_arith8,pos_26,val_-30 | Bin 0 -> 641 bytes ...d_000372,src_000189,op_arith8,pos_26,val_-31 | Bin 0 -> 641 bytes .../webp/id_000373,src_000189,op_havoc,rep_32 | Bin 0 -> 641 bytes ...id_000374,src_000216,op_int32,pos_28,val_+32 | Bin 0 -> 641 bytes .../webp/id_000375,src_000219,op_flip1,pos_28 | Bin 0 -> 641 bytes .../webp/id_000376,src_000219,op_flip1,pos_28 | Bin 0 -> 641 bytes .../webp/id_000377,src_000219,op_flip4,pos_27 | Bin 0 -> 641 bytes ..._000378,src_000219,op_arith16,pos_28,val_-18 | Bin 0 -> 641 bytes .../webp/id_000379,src_000272,op_flip1,pos_21 | Bin 0 -> 545 bytes .../webp/id_000381,src_000272,op_havoc,rep_16 | Bin 0 -> 601 bytes .../in/webp/id_000382,src_000272,op_havoc,rep_8 | Bin 0 -> 545 bytes .../webp/id_000383,src_000272,op_havoc,rep_64 | Bin 0 -> 517 bytes .../in/webp/id_000384,src_000272,op_havoc,rep_8 | Bin 0 -> 572 bytes .../webp/id_000385,src_000272,op_havoc,rep_16 | Bin 0 -> 524 bytes .../webp/id_000386,src_000272,op_havoc,rep_16 | Bin 0 -> 545 bytes .../webp/id_000387,src_000272,op_havoc,rep_64 | Bin 0 -> 509 bytes .../in/webp/id_000388,src_000272,op_havoc,rep_8 | Bin 0 -> 545 bytes .../webp/id_000389,src_000272,op_havoc,rep_32 | Bin 0 -> 541 bytes fuzz-afl/in/webp/tbbn0g04.webp | Bin 426 -> 0 bytes 167 files changed, 10 insertions(+) create mode 100644 fuzz-afl/in/webp/id_000000,orig_tbbn0g04.webp create mode 100644 fuzz-afl/in/webp/id_000004,src_000001,op_flip4,pos_15,+cov create mode 100644 fuzz-afl/in/webp/id_000010,src_000001,op_havoc,rep_128 create mode 100644 fuzz-afl/in/webp/id_000011,src_000001,op_havoc,rep_32 create mode 100644 fuzz-afl/in/webp/id_000012,src_000001,op_havoc,rep_64 create mode 100644 fuzz-afl/in/webp/id_000015,src_000004,op_flip2,pos_20,+cov create mode 100644 fuzz-afl/in/webp/id_000017,src_000004,op_arith8,pos_20,val_+17,+cov create mode 100644 fuzz-afl/in/webp/id_000026,src_000014,op_havoc,rep_32 create mode 100644 fuzz-afl/in/webp/id_000031,src_000014,op_havoc,rep_32 create mode 100644 fuzz-afl/in/webp/id_000032,src_000014,op_havoc,rep_64 create mode 100644 fuzz-afl/in/webp/id_000034,src_000014,op_havoc,rep_64,+cov create mode 100644 fuzz-afl/in/webp/id_000038,src_000014,op_havoc,rep_128,+cov create mode 100644 fuzz-afl/in/webp/id_000053,src_000016,op_arith8,pos_23,val_-17,+cov create mode 100644 fuzz-afl/in/webp/id_000055,src_000016,op_arith16,pos_23,val_-23 create mode 100644 fuzz-afl/in/webp/id_000057,src_000024,op_flip8,pos_23 create mode 100644 fuzz-afl/in/webp/id_000058,src_000024,op_arith16,pos_23,val_-2 create mode 100644 fuzz-afl/in/webp/id_000060,src_000024,op_arith16,pos_23,val_-17 create mode 100644 fuzz-afl/in/webp/id_000061,src_000024,op_int8,pos_21,val_+64,+cov create mode 100644 fuzz-afl/in/webp/id_000063,src_000024,op_havoc,rep_64 create mode 100644 fuzz-afl/in/webp/id_000064,src_000024,op_havoc,rep_64,+cov create mode 100644 fuzz-afl/in/webp/id_000067,src_000030,op_arith8,pos_23,val_-17 create mode 100644 fuzz-afl/in/webp/id_000070,src_000042,op_int32,pos_23,val_+1000 create mode 100644 fuzz-afl/in/webp/id_000072,src_000042,op_havoc,rep_64 create mode 100644 fuzz-afl/in/webp/id_000073,src_000042,op_havoc,rep_128,+cov create mode 100644 fuzz-afl/in/webp/id_000074,src_000042,op_havoc,rep_128 create mode 100644 fuzz-afl/in/webp/id_000076,src_000042,op_havoc,rep_128,+cov create mode 100644 fuzz-afl/in/webp/id_000077,src_000055,op_flip4,pos_24 create mode 100644 fuzz-afl/in/webp/id_000078,src_000062,op_flip1,pos_42 create mode 100644 fuzz-afl/in/webp/id_000079,src_000069,op_havoc,rep_128 create mode 100644 fuzz-afl/in/webp/id_000095,src_000081,op_flip1,pos_26,+cov rename fuzz-afl/in/webp/{tbwn3p08.webp => id_000110,src_000081,op_flip1,pos_29} (56%) create mode 100644 fuzz-afl/in/webp/id_000111,src_000081,op_flip1,pos_29 create mode 100644 fuzz-afl/in/webp/id_000113,src_000081,op_flip1,pos_30,+cov create mode 100644 fuzz-afl/in/webp/id_000115,src_000081,op_flip1,pos_38,+cov create mode 100644 fuzz-afl/in/webp/id_000132,src_000081,op_flip1,pos_46,+cov create mode 100644 fuzz-afl/in/webp/id_000135,src_000081,op_flip1,pos_47 create mode 100644 fuzz-afl/in/webp/id_000137,src_000081,op_flip1,pos_47 create mode 100644 fuzz-afl/in/webp/id_000141,src_000081,op_flip1,pos_49 create mode 100644 fuzz-afl/in/webp/id_000143,src_000081,op_flip1,pos_50 create mode 100644 fuzz-afl/in/webp/id_000145,src_000081,op_flip1,pos_52 create mode 100644 fuzz-afl/in/webp/id_000151,src_000081,op_flip1,pos_113 create mode 100644 fuzz-afl/in/webp/id_000154,src_000081,op_flip2,pos_26 create mode 100644 fuzz-afl/in/webp/id_000156,src_000081,op_flip2,pos_27 create mode 100644 fuzz-afl/in/webp/id_000161,src_000081,op_flip2,pos_46 create mode 100644 fuzz-afl/in/webp/id_000166,src_000081,op_flip2,pos_111 create mode 100644 fuzz-afl/in/webp/id_000177,src_000081,op_flip4,pos_54 create mode 100644 fuzz-afl/in/webp/id_000178,src_000081,op_flip16,pos_47 create mode 100644 fuzz-afl/in/webp/id_000180,src_000081,op_arith8,pos_26,val_+23 create mode 100644 fuzz-afl/in/webp/id_000181,src_000081,op_arith8,pos_26,val_+33 create mode 100644 fuzz-afl/in/webp/id_000183,src_000081,op_arith8,pos_27,val_+7 create mode 100644 fuzz-afl/in/webp/id_000192,src_000081,op_arith8,pos_29,val_+17 create mode 100644 fuzz-afl/in/webp/id_000197,src_000081,op_arith8,pos_49,val_-11 create mode 100644 fuzz-afl/in/webp/id_000198,src_000081,op_arith8,pos_49,val_+18 create mode 100644 fuzz-afl/in/webp/id_000200,src_000081,op_arith8,pos_52,val_+24 create mode 100644 fuzz-afl/in/webp/id_000202,src_000081,op_arith8,pos_112,val_-33 create mode 100644 fuzz-afl/in/webp/id_000203,src_000081,op_arith8,pos_113,val_+34 create mode 100644 fuzz-afl/in/webp/id_000210,src_000081,op_int16,pos_28,val_+1024 create mode 100644 fuzz-afl/in/webp/id_000214,src_000081,op_int32,pos_26,val_+0 create mode 100644 fuzz-afl/in/webp/id_000215,src_000081,op_int32,pos_26,val_be_+1 create mode 100644 fuzz-afl/in/webp/id_000216,src_000081,op_int32,pos_26,val_+64 create mode 100644 fuzz-afl/in/webp/id_000217,src_000081,op_int32,pos_26,val_be_+100 create mode 100644 fuzz-afl/in/webp/id_000219,src_000081,op_int32,pos_26,val_be_+512 create mode 100644 fuzz-afl/in/webp/id_000220,src_000081,op_int32,pos_26,val_be_+32767 create mode 100644 fuzz-afl/in/webp/id_000221,src_000081,op_int32,pos_26,val_be_+32768 create mode 100644 fuzz-afl/in/webp/id_000222,src_000081,op_int32,pos_28,val_+1 create mode 100644 fuzz-afl/in/webp/id_000224,src_000081,op_int32,pos_28,val_+127 create mode 100644 fuzz-afl/in/webp/id_000226,src_000081,op_int32,pos_28,val_+512 create mode 100644 fuzz-afl/in/webp/id_000228,src_000081,op_int32,pos_29,val_+1 create mode 100644 fuzz-afl/in/webp/id_000238,src_000081,op_havoc,rep_8 create mode 100644 fuzz-afl/in/webp/id_000239,src_000081,op_havoc,rep_2 create mode 100644 fuzz-afl/in/webp/id_000241,src_000081,op_havoc,rep_64 create mode 100644 fuzz-afl/in/webp/id_000244,src_000081,op_havoc,rep_8 create mode 100644 fuzz-afl/in/webp/id_000247,src_000081,op_havoc,rep_16 create mode 100644 fuzz-afl/in/webp/id_000248,src_000081,op_havoc,rep_32 create mode 100644 fuzz-afl/in/webp/id_000252,src_000081,op_havoc,rep_8 create mode 100644 fuzz-afl/in/webp/id_000253,src_000081,op_havoc,rep_32 create mode 100644 fuzz-afl/in/webp/id_000255,src_000081,op_havoc,rep_4 create mode 100644 fuzz-afl/in/webp/id_000258,src_000081,op_havoc,rep_16 create mode 100644 fuzz-afl/in/webp/id_000260,src_000081,op_havoc,rep_32,+cov create mode 100644 fuzz-afl/in/webp/id_000263,src_000081,op_havoc,rep_16 create mode 100644 fuzz-afl/in/webp/id_000264,src_000081,op_havoc,rep_8 create mode 100644 fuzz-afl/in/webp/id_000266,src_000081,op_havoc,rep_32 create mode 100644 fuzz-afl/in/webp/id_000270,src_000081,op_havoc,rep_16 create mode 100644 fuzz-afl/in/webp/id_000271,src_000081,op_havoc,rep_16 create mode 100644 fuzz-afl/in/webp/id_000274,src_000081,op_havoc,rep_16 create mode 100644 fuzz-afl/in/webp/id_000275,src_000081,op_havoc,rep_8 create mode 100644 fuzz-afl/in/webp/id_000276,src_000081,op_havoc,rep_16 create mode 100644 fuzz-afl/in/webp/id_000278,src_000081,op_havoc,rep_64 create mode 100644 fuzz-afl/in/webp/id_000279,src_000081,op_havoc,rep_64 create mode 100644 fuzz-afl/in/webp/id_000281,src_000081,op_havoc,rep_16 create mode 100644 fuzz-afl/in/webp/id_000284,src_000081,op_havoc,rep_32 create mode 100644 fuzz-afl/in/webp/id_000285,src_000081,op_havoc,rep_16 create mode 100644 fuzz-afl/in/webp/id_000287,src_000081,op_havoc,rep_8 create mode 100644 fuzz-afl/in/webp/id_000288,src_000081,op_havoc,rep_32 create mode 100644 fuzz-afl/in/webp/id_000290,src_000081,op_havoc,rep_8 create mode 100644 fuzz-afl/in/webp/id_000292,src_000081,op_havoc,rep_16 create mode 100644 fuzz-afl/in/webp/id_000293,src_000081,op_havoc,rep_64 create mode 100644 fuzz-afl/in/webp/id_000300,src_000086,op_flip2,pos_26 create mode 100644 fuzz-afl/in/webp/id_000303,src_000086,op_arith8,pos_27,val_+10 create mode 100644 fuzz-afl/in/webp/id_000304,src_000086,op_arith8,pos_27,val_+17 create mode 100644 fuzz-afl/in/webp/id_000306,src_000086,op_int16,pos_28,val_+1000 create mode 100644 fuzz-afl/in/webp/id_000307,src_000086,op_int32,pos_28,val_+4096 create mode 100644 fuzz-afl/in/webp/id_000309,src_000086,op_int32,pos_56,val_+2147483647 create mode 100644 fuzz-afl/in/webp/id_000310,src_000086,op_ext_AO,pos_28 create mode 100644 fuzz-afl/in/webp/id_000315,src_000086,op_havoc,rep_32 create mode 100644 fuzz-afl/in/webp/id_000316,src_000086,op_havoc,rep_32 create mode 100644 fuzz-afl/in/webp/id_000317,src_000086,op_havoc,rep_16 create mode 100644 fuzz-afl/in/webp/id_000319,src_000086,op_havoc,rep_8 create mode 100644 fuzz-afl/in/webp/id_000320,src_000086,op_havoc,rep_4 create mode 100644 fuzz-afl/in/webp/id_000321,src_000086,op_havoc,rep_4 create mode 100644 fuzz-afl/in/webp/id_000323,src_000124,op_int16,pos_26,val_+4096 create mode 100644 fuzz-afl/in/webp/id_000324,src_000124,op_int32,pos_29,val_+1 create mode 100644 fuzz-afl/in/webp/id_000325,src_000124,op_havoc,rep_8 create mode 100644 fuzz-afl/in/webp/id_000326,src_000124,op_havoc,rep_64 create mode 100644 fuzz-afl/in/webp/id_000327,src_000124,op_havoc,rep_8 create mode 100644 fuzz-afl/in/webp/id_000328,src_000124,op_havoc,rep_16 create mode 100644 fuzz-afl/in/webp/id_000330,src_000124,op_havoc,rep_128 create mode 100644 fuzz-afl/in/webp/id_000332,src_000124,op_havoc,rep_64 create mode 100644 fuzz-afl/in/webp/id_000333,src_000124,op_havoc,rep_16 create mode 100644 fuzz-afl/in/webp/id_000334,src_000124,op_havoc,rep_32 create mode 100644 fuzz-afl/in/webp/id_000335,src_000125,op_havoc,rep_8 create mode 100644 fuzz-afl/in/webp/id_000336,src_000125,op_havoc,rep_16 create mode 100644 fuzz-afl/in/webp/id_000338,src_000125,op_havoc,rep_128 create mode 100644 fuzz-afl/in/webp/id_000339,src_000125,op_havoc,rep_32 create mode 100644 fuzz-afl/in/webp/id_000341,src_000125,op_havoc,rep_32 create mode 100644 fuzz-afl/in/webp/id_000342,src_000125,op_havoc,rep_64 create mode 100644 fuzz-afl/in/webp/id_000343,src_000127,op_havoc,rep_64 create mode 100644 fuzz-afl/in/webp/id_000344,src_000127,op_havoc,rep_32 create mode 100644 fuzz-afl/in/webp/id_000345,src_000127,op_havoc,rep_16 create mode 100644 fuzz-afl/in/webp/id_000346,src_000152,op_flip1,pos_44 create mode 100644 fuzz-afl/in/webp/id_000347,src_000152,op_flip1,pos_46 create mode 100644 fuzz-afl/in/webp/id_000348,src_000152,op_flip1,pos_55 create mode 100644 fuzz-afl/in/webp/id_000350,src_000152,op_arith8,pos_27,val_+13 create mode 100644 fuzz-afl/in/webp/id_000351,src_000152,op_arith8,pos_46,val_-11 create mode 100644 fuzz-afl/in/webp/id_000352,src_000152,op_arith8,pos_74,val_-32 create mode 100644 fuzz-afl/in/webp/id_000353,src_000152,op_arith8,pos_96,val_+11 create mode 100644 fuzz-afl/in/webp/id_000354,src_000152,op_arith8,pos_205,val_-5 create mode 100644 fuzz-afl/in/webp/id_000355,src_000152,op_int8,pos_34,val_-1 create mode 100644 fuzz-afl/in/webp/id_000356,src_000152,op_ext_AO,pos_50 create mode 100644 fuzz-afl/in/webp/id_000359,src_000154,op_arith8,pos_28,val_-29 create mode 100644 fuzz-afl/in/webp/id_000362,src_000154,op_int32,pos_28,val_+1 create mode 100644 fuzz-afl/in/webp/id_000363,src_000154,op_havoc,rep_32 create mode 100644 fuzz-afl/in/webp/id_000364,src_000154,op_havoc,rep_16 create mode 100644 fuzz-afl/in/webp/id_000365,src_000154,op_havoc,rep_32 create mode 100644 fuzz-afl/in/webp/id_000367,src_000175,op_havoc,rep_32 create mode 100644 fuzz-afl/in/webp/id_000368,src_000189,op_flip2,pos_26 create mode 100644 fuzz-afl/in/webp/id_000369,src_000189,op_arith8,pos_26,val_-25 create mode 100644 fuzz-afl/in/webp/id_000370,src_000189,op_arith8,pos_26,val_-29 create mode 100644 fuzz-afl/in/webp/id_000371,src_000189,op_arith8,pos_26,val_-30 create mode 100644 fuzz-afl/in/webp/id_000372,src_000189,op_arith8,pos_26,val_-31 create mode 100644 fuzz-afl/in/webp/id_000373,src_000189,op_havoc,rep_32 create mode 100644 fuzz-afl/in/webp/id_000374,src_000216,op_int32,pos_28,val_+32 create mode 100644 fuzz-afl/in/webp/id_000375,src_000219,op_flip1,pos_28 create mode 100644 fuzz-afl/in/webp/id_000376,src_000219,op_flip1,pos_28 create mode 100644 fuzz-afl/in/webp/id_000377,src_000219,op_flip4,pos_27 create mode 100644 fuzz-afl/in/webp/id_000378,src_000219,op_arith16,pos_28,val_-18 create mode 100644 fuzz-afl/in/webp/id_000379,src_000272,op_flip1,pos_21 create mode 100644 fuzz-afl/in/webp/id_000381,src_000272,op_havoc,rep_16 create mode 100644 fuzz-afl/in/webp/id_000382,src_000272,op_havoc,rep_8 create mode 100644 fuzz-afl/in/webp/id_000383,src_000272,op_havoc,rep_64 create mode 100644 fuzz-afl/in/webp/id_000384,src_000272,op_havoc,rep_8 create mode 100644 fuzz-afl/in/webp/id_000385,src_000272,op_havoc,rep_16 create mode 100644 fuzz-afl/in/webp/id_000386,src_000272,op_havoc,rep_16 create mode 100644 fuzz-afl/in/webp/id_000387,src_000272,op_havoc,rep_64 create mode 100644 fuzz-afl/in/webp/id_000388,src_000272,op_havoc,rep_8 create mode 100644 fuzz-afl/in/webp/id_000389,src_000272,op_havoc,rep_32 delete mode 100644 fuzz-afl/in/webp/tbbn0g04.webp diff --git a/fuzz-afl/in/webp/id_000000,orig_tbbn0g04.webp b/fuzz-afl/in/webp/id_000000,orig_tbbn0g04.webp new file mode 100644 index 0000000000..807c9006e2 --- /dev/null +++ b/fuzz-afl/in/webp/id_000000,orig_tbbn0g04.webp @@ -0,0 +1 @@ +RIFF0000WEBP0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 \ No newline at end of file diff --git a/fuzz-afl/in/webp/id_000004,src_000001,op_flip4,pos_15,+cov b/fuzz-afl/in/webp/id_000004,src_000001,op_flip4,pos_15,+cov new file mode 100644 index 0000000000..1e142c4165 --- /dev/null +++ b/fuzz-afl/in/webp/id_000004,src_000001,op_flip4,pos_15,+cov @@ -0,0 +1 @@ +RIFF0000WEBPVP8 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 \ No newline at end of file diff --git a/fuzz-afl/in/webp/id_000010,src_000001,op_havoc,rep_128 b/fuzz-afl/in/webp/id_000010,src_000001,op_havoc,rep_128 new file mode 100644 index 0000000000..221a709b32 --- /dev/null +++ b/fuzz-afl/in/webp/id_000010,src_000001,op_havoc,rep_128 @@ -0,0 +1 @@ +000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 \ No newline at end of file diff --git a/fuzz-afl/in/webp/id_000011,src_000001,op_havoc,rep_32 b/fuzz-afl/in/webp/id_000011,src_000001,op_havoc,rep_32 new file mode 100644 index 0000000000..542d8c1121 --- /dev/null +++ b/fuzz-afl/in/webp/id_000011,src_000001,op_havoc,rep_32 @@ -0,0 +1 @@ +RIFF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 \ No newline at end of file diff --git a/fuzz-afl/in/webp/id_000012,src_000001,op_havoc,rep_64 b/fuzz-afl/in/webp/id_000012,src_000001,op_havoc,rep_64 new file mode 100644 index 0000000000..57d1b25985 --- /dev/null +++ b/fuzz-afl/in/webp/id_000012,src_000001,op_havoc,rep_64 @@ -0,0 +1 @@ +000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 \ No newline at end of file diff --git a/fuzz-afl/in/webp/id_000015,src_000004,op_flip2,pos_20,+cov b/fuzz-afl/in/webp/id_000015,src_000004,op_flip2,pos_20,+cov new file mode 100644 index 0000000000..a7891f37c1 --- /dev/null +++ b/fuzz-afl/in/webp/id_000015,src_000004,op_flip2,pos_20,+cov @@ -0,0 +1 @@ +RIFF0000WEBPVP8 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 \ No newline at end of file diff --git a/fuzz-afl/in/webp/id_000017,src_000004,op_arith8,pos_20,val_+17,+cov b/fuzz-afl/in/webp/id_000017,src_000004,op_arith8,pos_20,val_+17,+cov new file mode 100644 index 0000000000000000000000000000000000000000..a95960458eb3e22dc294b226ea98fd43916657df GIT binary patch literal 641 jcmWIYbaOKRf^b)-fUp1y1rS@2fdNE~g3%D5eFy*mTmg91 literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000026,src_000014,op_havoc,rep_32 b/fuzz-afl/in/webp/id_000026,src_000014,op_havoc,rep_32 new file mode 100644 index 0000000000000000000000000000000000000000..4e811cbf13de47d95b19fde147fe359841f7698f GIT binary patch literal 641 jcmWIYbaOKRf^b)-fUp1y1rWQJfx!TXM!{$Z&^`nJdd+y@ literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000031,src_000014,op_havoc,rep_32 b/fuzz-afl/in/webp/id_000031,src_000014,op_havoc,rep_32 new file mode 100644 index 0000000000000000000000000000000000000000..b3d06b212e060e1357b3c06275c36cbb9a774721 GIT binary patch literal 585 pcmWIYbaOKRf^b)-fUp1y1rS@%iGhKEk>B7yh%*XCLx7kN006tbZl(YL literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000032,src_000014,op_havoc,rep_64 b/fuzz-afl/in/webp/id_000032,src_000014,op_havoc,rep_64 new file mode 100644 index 0000000000000000000000000000000000000000..4567dac3e050c9fdef2a1f7c5a6d2928f7482d60 GIT binary patch literal 537 icmWIYbaOKRf^b)-fUp1y1rS@%fdL3WtWhvxLjVA8CuH>i literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000034,src_000014,op_havoc,rep_64,+cov b/fuzz-afl/in/webp/id_000034,src_000014,op_havoc,rep_64,+cov new file mode 100644 index 0000000000000000000000000000000000000000..4a1c602ac3c8185ed89b69af08477641615db6f1 GIT binary patch literal 545 icmWIYbaOKRf^b)-fUp1y1rS@%fPq0A#25vmApigkT4t;O literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000038,src_000014,op_havoc,rep_128,+cov b/fuzz-afl/in/webp/id_000038,src_000014,op_havoc,rep_128,+cov new file mode 100644 index 0000000000000000000000000000000000000000..5aa00a14573b74dfa27de3474d478ed703935b8e GIT binary patch literal 514 ocmWIYbaOKRf^b)-fUp1y1rYl`1H*ke1_pTsX%KG|4DS#C0K$-A$^ZZW literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000053,src_000016,op_arith8,pos_23,val_-17,+cov b/fuzz-afl/in/webp/id_000053,src_000016,op_arith8,pos_23,val_-17,+cov new file mode 100644 index 0000000000000000000000000000000000000000..0c944d8256a8e205456d42d4b88c15edf0e82e5a GIT binary patch literal 641 ocmWIYbaOKRf^b)-fUp1y1rYl^1H*fH1_mGk@kYUD2+%MD0REkMfB*mh literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000055,src_000016,op_arith16,pos_23,val_-23 b/fuzz-afl/in/webp/id_000055,src_000016,op_arith16,pos_23,val_-23 new file mode 100644 index 0000000000000000000000000000000000000000..cf7c3be15c5abc9a364ce3c2a45ff8c86db8f57a GIT binary patch literal 641 qcmWIYbaOKRf^b)-fUp1y1rYl^1H(%>1_pTs1`ux)jD`RWLjVBnxOsU1 literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000057,src_000024,op_flip8,pos_23 b/fuzz-afl/in/webp/id_000057,src_000024,op_flip8,pos_23 new file mode 100644 index 0000000000000000000000000000000000000000..c466cb8ca2ffec39f1b55aef62ffe92948165305 GIT binary patch literal 545 ocmWIYbaOKRf^b)-fUp1y1rS@1iQzwpMgj~B3`o3D=Ew;F0L}Sl1^@s6 literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000058,src_000024,op_arith16,pos_23,val_-2 b/fuzz-afl/in/webp/id_000058,src_000024,op_arith16,pos_23,val_-2 new file mode 100644 index 0000000000000000000000000000000000000000..3a562924a40e68020d84d03d86a4733955375490 GIT binary patch literal 545 tcmWIYbaOKRf^b)-fUp1y1rS@1iQ%6dgNQr>gB?pixGP9#6pYjm006+?X9NHM literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000060,src_000024,op_arith16,pos_23,val_-17 b/fuzz-afl/in/webp/id_000060,src_000024,op_arith16,pos_23,val_-17 new file mode 100644 index 0000000000000000000000000000000000000000..061062cfdcfac54d7c34796495ecbcf3263baf69 GIT binary patch literal 545 vcmWIYbaOKRf^b)-fUp1y1rS@1iQ&B*gNQr>gB?o%NW#DgBs>a6Vh8{LDSKx* literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000061,src_000024,op_int8,pos_21,val_+64,+cov b/fuzz-afl/in/webp/id_000061,src_000024,op_int8,pos_21,val_+64,+cov new file mode 100644 index 0000000000000000000000000000000000000000..5b4ba8290fff4d38f353f83f520374272e7510ba GIT binary patch literal 545 jcmWIYbaOKRf^b)-fUp1y1rS@%fx$rD0E9-thz|h(ecWc_ literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000063,src_000024,op_havoc,rep_64 b/fuzz-afl/in/webp/id_000063,src_000024,op_havoc,rep_64 new file mode 100644 index 0000000000000000000000000000000000000000..05a4cdb3db706a84022cc781c07e1a1d9b5ee296 GIT binary patch literal 385 qcmWIYbaOKRf^b)-fUp1y1rS@1iGe}x|9wUV$^SqA5*Y+0RV-TW#s?> literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000079,src_000069,op_havoc,rep_128 b/fuzz-afl/in/webp/id_000079,src_000069,op_havoc,rep_128 new file mode 100644 index 0000000000..c43d0930ca --- /dev/null +++ b/fuzz-afl/in/webp/id_000079,src_000069,op_havoc,rep_128 @@ -0,0 +1 @@ +00000000 \ No newline at end of file diff --git a/fuzz-afl/in/webp/id_000095,src_000081,op_flip1,pos_26,+cov b/fuzz-afl/in/webp/id_000095,src_000081,op_flip1,pos_26,+cov new file mode 100644 index 0000000000000000000000000000000000000000..7b6f17bcaef9179d066d3e7c84fdd120daad6ed2 GIT binary patch literal 641 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLK76XHVf!#!dnVtrV7XgJ5gPEQn5e=>t1_qo43={Qt TGk%}=dKL=hJZ5+eFP0X&xm)&NS?>D2Tou78A2)AFV(+GGW1I1{W9 z>I9{O+yDSpP&gnG0ssIo3ILq}Dj)zL06vjGnMoz1q9G^>sIU?VYyhk;0hEizf8ad8 zMUwgebdpSbS_0@2tY&xPuj!9qK8~J%1+x~b{Ov9S`_~JCBVP^c_A+Owi4*0N9C4o{ z0092?>2S|x@^9?k<@~r&ba2~o$`Vu4D^0ZR`;t2Qw973*BdeU*j|Z!A<5qc z_r`rD#?!pn_*4!eyQaS@;tW&!?yvCT^lhJZfB#5NO?3a}y52G=#hfVx(_iG4$y4?) z-)3M@+R8uquqW=4a-Xo&^xV~yS*4n$AWP~`Lhp@86)5bL@7}06+TIX1;m|KTR0UaQ zbbMN+l=*m6+KaY+IQ6T{IEZ#Ee9K9Cngc8uqlO4V009611h9=m(A7i4qh0oHhDbey zY+J-!$9$oSTYQblo>ra|v?w#vv454EUxlc4f2ooo8IcWcvbwo(r$0|Y#&%z|2XHD2+H@BjH}yJb4eE_e#vxuXx5V-@`W=j&(m b|ARRT$NGQLp_Mwz)xz35Uz0O?>cRRjU${7e literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000113,src_000081,op_flip1,pos_30,+cov b/fuzz-afl/in/webp/id_000113,src_000081,op_flip1,pos_30,+cov new file mode 100644 index 0000000000000000000000000000000000000000..e995ff34638be6d94285e099ca6c4340629c6e66 GIT binary patch literal 641 rcmWIYbaOKRf^b)-fUp1y1rXc7fMG79mI8x;!9)mmlpGBKT7>`r$`N^O literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000115,src_000081,op_flip1,pos_38,+cov b/fuzz-afl/in/webp/id_000115,src_000081,op_flip1,pos_38,+cov new file mode 100644 index 0000000000000000000000000000000000000000..f0236aeb05d70ef22c9fb6ebc32208e18232a992 GIT binary patch literal 641 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmI8wUgWW`fnVtrV4Hyl$3^oXH<}gI(=KT`l a^l*$aXfserxd~QH3c)~%;!(9DAOrx$AbfEE literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000132,src_000081,op_flip1,pos_46,+cov b/fuzz-afl/in/webp/id_000132,src_000081,op_flip1,pos_46,+cov new file mode 100644 index 0000000000000000000000000000000000000000..6ec4ee973144810ee842b790614404c927ad370b GIT binary patch literal 642 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmI8wUgWW`fnVujK4Xzai2Al>g(YblQ3^+X; eqYT{ZdBQb2>}3zEPXZr literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000135,src_000081,op_flip1,pos_47 b/fuzz-afl/in/webp/id_000135,src_000081,op_flip1,pos_47 new file mode 100644 index 0000000000000000000000000000000000000000..1f8efc2cd9f4e00d8e4c025e128ef0800a6e3cfe GIT binary patch literal 641 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmI8wUgWW`fnVujK4Xzai2Al>A(z$uRgg8AM Rqb9V8fW$|^Xb4ai0su=Odtv|p literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000137,src_000081,op_flip1,pos_47 b/fuzz-afl/in/webp/id_000137,src_000081,op_flip1,pos_47 new file mode 100644 index 0000000000000000000000000000000000000000..d2c342190eac56525da74242512648c16688310b GIT binary patch literal 641 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmI8wUgWW`fnVujK4Xzai2Al>A@dkOngg8AM Vqb9V8sHEI12FZA(FSP-LIxg= aQ4`ukR8nq&q(}k`2(wAjH>!BJh5!Ki)q1@E literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000143,src_000081,op_flip1,pos_50 b/fuzz-afl/in/webp/id_000143,src_000081,op_flip1,pos_50 new file mode 100644 index 0000000000000000000000000000000000000000..6293605ba286a497b5d65cc0e002960b4025240d GIT binary patch literal 641 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmI8wUgWW`fnVtrV4Gc86Ru~v?8ZboX=2Z!C odN@WIw22s`+$;{)6jJ(S&uBB9?HX7oA%ekxi;$90`4JTY06k-Ui~s-t literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000145,src_000081,op_flip1,pos_52 b/fuzz-afl/in/webp/id_000145,src_000081,op_flip1,pos_52 new file mode 100644 index 0000000000000000000000000000000000000000..40408a6ceba218909c7fd188017d80a194c1408f GIT binary patch literal 641 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmI8wUgWW`fnVujK4Xzai2Al>A(FS?Hgt$E% fqb9V8sHEI14hKn+02q+Xb^seqg6>hJ!!HB?t+{+` literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000151,src_000081,op_flip1,pos_113 b/fuzz-afl/in/webp/id_000151,src_000081,op_flip1,pos_113 new file mode 100644 index 0000000000000000000000000000000000000000..20c0f8e4c302c82b1eb0b102af742a06a3b2f1e8 GIT binary patch literal 641 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmI8wUgWW`fnVujK4Xzai2Al>A(FS?Hgg8AM eqb9V8sHEI14hKn+02mDTz-E)6WmM^~4gmmR^L$1C literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000154,src_000081,op_flip2,pos_26 b/fuzz-afl/in/webp/id_000154,src_000081,op_flip2,pos_26 new file mode 100644 index 0000000000000000000000000000000000000000..e73d744ce25a92f9608b91a5c905276a713b5ec2 GIT binary patch literal 641 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmH>kSgWW`fnVujK4Xzai2Al>A(FS?Hgg8AM Uqb9V0gh>VrB8WK>z>% literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000156,src_000081,op_flip2,pos_27 b/fuzz-afl/in/webp/id_000156,src_000081,op_flip2,pos_27 new file mode 100644 index 0000000000000000000000000000000000000000..c292df9034177772045e72a88ace0a1b2d9e0454 GIT binary patch literal 641 zcmV-{0)G8cNk&F6FfcGzMM6+kP&gnkFfcGM3ILq}Dj)%%06vj0nMp7(Ffb?zs4y@I zFaTRHZu$}lNI_bVh7=@Z*>hJZ5+eFP0X&xm)&NS?>D2Tou78A2)AFV(+GGW1I1{W9 z>I9{O+yDSpP&gnG0ssIo3ILq}Dj)zL06vjGnMoz1q9G^>sIU?VYyhk;0hEizf8ad8 zMUwgebdpSbS_0@2tY&xPuj!9qK8~J%1+x~b{Ov9S`_~JCBVP^c_A+Owi4*0N9C4o{ z0092?>2S|x@^9?k<@~r&ba2~o$`Vu4D^0ZR`;t2Qw973*BdeU*j|Z!A<5qc z_r`rD#?!pn_*4!eyQaS@;tW&!?yvCT^lhJZfB#5NO?3a}y52G=#hfVx(_iG4$y4?) z-)3M@+R8uquqW=4a-Xo&^xV~yS*4n$AWP~`Lhp@86)5bL@7}06+TIX1;m|KTR0UaQ zbbMN+l=*m6+KaY+IQ6T{IEZ#Ee9K9Cngc8uqlO4V009611h9=m(A7i4qh0oHhDbey zY+J-!$9$oSTYQblo>ra|v?w#vv454EUxlc4f2ooo8IcWcvbwo(r$0|Y#&%z|2XHD2+H@BjH}yJb4eE_e#vxuXx5V-@`W=j&(m b|ARRT$NGQLp_Mwz)xz35Uz0O?>cRRj0+=|& literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000161,src_000081,op_flip2,pos_46 b/fuzz-afl/in/webp/id_000161,src_000081,op_flip2,pos_46 new file mode 100644 index 0000000000000000000000000000000000000000..b8164aa5d522628f4445a8eb9774d19fe0b9db83 GIT binary patch literal 641 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmI8wUgWW`jnVzbP7a3@9t=M3|nR6gIH}97L Zr-x(Igf_5BQV9l-*`#V3RX>bF007Q?eklL| literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000166,src_000081,op_flip2,pos_111 b/fuzz-afl/in/webp/id_000166,src_000081,op_flip2,pos_111 new file mode 100644 index 0000000000000000000000000000000000000000..bc57e918a5690d97a4d6a1e9d08baaa5846ea544 GIT binary patch literal 641 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmI8wUgWW`fnVujK4Xzai2Al>A(FS?Hgg8AM zqb9V8sHEI14hKn+0Crf^nlthkOVC0A?G2 A+W-In literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000177,src_000081,op_flip4,pos_54 b/fuzz-afl/in/webp/id_000177,src_000081,op_flip4,pos_54 new file mode 100644 index 0000000000000000000000000000000000000000..39007a72cc6bc68a330c2557851a420072dc557d GIT binary patch literal 641 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmI8wUgWW`fnVtrV4Gc86R%|ffG+>C%&HE+9 c>EU*3LYs(6%FSZ1auNsz64Z_=9SI=-09k>3{r~^~ literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000178,src_000081,op_flip16,pos_47 b/fuzz-afl/in/webp/id_000178,src_000081,op_flip16,pos_47 new file mode 100644 index 0000000000000000000000000000000000000000..c8268ca58bc260631bf543decae1c8151016e734 GIT binary patch literal 641 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmI8wUgWW`fnVujK4Xzai2Al>AOD5(065{l5 zjGE9UqLOm6I9yXm>6bmD4M+_!fC1TThnb$Lix(*Z&E6oynZvL~pK(g}vHAx#2V5up MBF3;$HNzkT0Fw2C+5i9m literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000180,src_000081,op_arith8,pos_26,val_+23 b/fuzz-afl/in/webp/id_000180,src_000081,op_arith8,pos_26,val_+23 new file mode 100644 index 0000000000000000000000000000000000000000..32b15a7a870c02e5601bd476192b11aff1c5a441 GIT binary patch literal 641 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmN|n0gWW`fnVtp)iwrclR%|ff%wdQ&$onP4 z>ERePp-n_3ERePp-n_3qe4SH1OWU( Bkgfm# literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000183,src_000081,op_arith8,pos_27,val_+7 b/fuzz-afl/in/webp/id_000183,src_000081,op_arith8,pos_27,val_+7 new file mode 100644 index 0000000000000000000000000000000000000000..384c63936c6e8e96529a31359c07ee10d516897e GIT binary patch literal 641 zcmV-{0)G8cNk&F6FfcGzMM6+kP&gnkFfcGM3ILq}Dj)|S06vj0nMp7(qA(~5sIV{z zYyewrZu$}lNI_bVh7=@Z*>hJZ5+eFP0X&xm)&NS?>D2Tou78A2)AFV(+GGW1I1{W9 z>I9{O+yDSpP&gnG0ssIo3ILq}Dj)zL06vjGnMoz1q9G^>sIU?VYyhk;0hEizf8ad8 zMUwgebdpSbS_0@2tY&xPuj!9qK8~J%1+x~b{Ov9S`_~JCBVP^c_A+Owi4*0N9C4o{ z0092?>2S|x@^9?k<@~r&ba2~o$`Vu4D^0ZR`;t2Qw973*BdeU*j|Z!A<5qc z_r`rD#?!pn_*4!eyQaS@;tW&!?yvCT^lhJZfB#5NO?3a}y52G=#hfVx(_iG4$y4?) z-)3M@+R8uquqW=4a-Xo&^xV~yS*4n$AWP~`Lhp@86)5bL@7}06+TIX1;m|KTR0UaQ zbbMN+l=*m6+KaY+IQ6T{IEZ#Ee9K9Cngc8uqlO4V009611h9=m(A7i4qh0oHhDbey zY+J-!$9$oSTYQblo>ra|v?w#vv454EUxlc4f2ooo8IcWcvbwo(r$0|Y#&%z|2XHD2+H@BjH}yJb4eE_e#vxuXx5V-@`W=j&(m b|ARRT$NGQLp_Mwz)xz35Uz0O?>cRRjFb_Gk literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000192,src_000081,op_arith8,pos_29,val_+17 b/fuzz-afl/in/webp/id_000192,src_000081,op_arith8,pos_29,val_+17 new file mode 100644 index 0000000000000000000000000000000000000000..ddc19c3ed5205cafae374d1e43c40b216dbef4bd GIT binary patch literal 641 zcmV-{0)G8cNk&F6FfcGzMM6+kP&gnkFfcGM3ILq}Dj)zL5k8SHnMp7(Ffb?zs4y@I zFaTR^Zu$}lNI_bVh7=@Z*>hJZ5+eFP0X&xm)&NS?>D2Tou78A2)AFV(+GGW1I1{W9 z>I9{O+yDSpP&gnG0ssIo3ILq}Dj)zL06vjGnMoz1q9G^>sIU?VYyhk;0hEizf8ad8 zMUwgebdpSbS_0@2tY&xPuj!9qK8~J%1+x~b{Ov9S`_~JCBVP^c_A+Owi4*0N9C4o{ z0092?>2S|x@^9?k<@~r&ba2~o$`Vu4D^0ZR`;t2Qw973*BdeU*j|Z!A<5qc z_r`rD#?!pn_*4!eyQaS@;tW&!?yvCT^lhJZfB#5NO?3a}y52G=#hfVx(_iG4$y4?) z-)3M@+R8uquqW=4a-Xo&^xV~yS*4n$AWP~`Lhp@86)5bL@7}06+TIX1;m|KTR0UaQ zbbMN+l=*m6+KaY+IQ6T{IEZ#Ee9K9Cngc8uqlO4V009611h9=m(A7i4qh0oHhDbey zY+J-!$9$oSTYQblo>ra|v?w#vv454EUxlc4f2ooo8IcWcvbwo(r$0|Y#&%z|2XHD2+H@BjH}yJb4eE_e#vxuXx5V-@`W=j&(m b|ARRT$NGQLp_Mwz)xz35Uz0O?>cRRjgOoUt literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000197,src_000081,op_arith8,pos_49,val_-11 b/fuzz-afl/in/webp/id_000197,src_000081,op_arith8,pos_49,val_-11 new file mode 100644 index 0000000000000000000000000000000000000000..0fe0405a84765efbfdee7384c5e4e94324169d5e GIT binary patch literal 641 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmI8wUgWW`fnVtrV4Gc86R%|ff%wdSmP5vds Z>ERePp-n^utd=x_fi&f#s)v0D000iGe2M@7 literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000198,src_000081,op_arith8,pos_49,val_+18 b/fuzz-afl/in/webp/id_000198,src_000081,op_arith8,pos_49,val_+18 new file mode 100644 index 0000000000000000000000000000000000000000..7317b6448e4c0fd65ff1482bb0cc99971be1fe27 GIT binary patch literal 641 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmI8wUgWW`fnVujK4Xzai2Al>A1_lkkgg8AM Vqb7hvNe2uFvq{%Hs$&?2008Z;dPD#K literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000200,src_000081,op_arith8,pos_52,val_+24 b/fuzz-afl/in/webp/id_000200,src_000081,op_arith8,pos_52,val_+24 new file mode 100644 index 0000000000000000000000000000000000000000..b492dbd8b299f8ca1ed3781258e4bcbd3e402700 GIT binary patch literal 641 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmI8wUgWW`fnVujK4Xzai2Al>A(FS?HgcLm- bqb9V8sHEI12FZ~E7!0^bQ9i16*oOcBNfLZJ literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000202,src_000081,op_arith8,pos_112,val_-33 b/fuzz-afl/in/webp/id_000202,src_000081,op_arith8,pos_112,val_-33 new file mode 100644 index 0000000000000000000000000000000000000000..2dd6bf0b29dc4e7a43a2ca1b429d336c6f961e31 GIT binary patch literal 641 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmI8wUgWW`fnVzbP4Gc86R%|ff%wdSm&HE+9 g>ERePp-n_3SUvFs13wo7@v28v4*w7U0R2CGS^xk5 literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000203,src_000081,op_arith8,pos_113,val_+34 b/fuzz-afl/in/webp/id_000203,src_000081,op_arith8,pos_113,val_+34 new file mode 100644 index 0000000000000000000000000000000000000000..772da5df9d88bb6c379c24efdb7b0783595ba954 GIT binary patch literal 641 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmI8wUgWW`fnVtrV7a3@9t=M3|X}}PjoA*nI g)59@pLYs(6%FW_%uzKPN1_K=i;#H5T9R48y03!f>-T(jq literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000210,src_000081,op_int16,pos_28,val_+1024 b/fuzz-afl/in/webp/id_000210,src_000081,op_int16,pos_28,val_+1024 new file mode 100644 index 0000000000000000000000000000000000000000..4ed09a26998ed341f614aca2fbdd5e02c8bd46f6 GIT binary patch literal 641 zcmV-{0)G8cNk&F6FfcGzMM6+kP&gnkFfcGM3ILq}Dj)y=1U`{4nMp7(Ffb?zs4y@I zFaTR^Zu$}lNI_bVh7=@Z*>hJZ5+eFP0X&xm)&NS?>D2Tou78A2)AFV(+GGW1I1{W9 z>I9{O+yDSpP&gnG0ssIo3ILq}Dj)zL06vjGnMoz1q9G^>sIU?VYyhk;0hEizf8ad8 zMUwgebdpSbS_0@2tY&xPuj!9qK8~J%1+x~b{Ov9S`_~JCBVP^c_A+Owi4*0N9C4o{ z0092?>2S|x@^9?k<@~r&ba2~o$`Vu4D^0ZR`;t2Qw973*BdeU*j|Z!A<5qc z_r`rD#?!pn_*4!eyQaS@;tW&!?yvCT^lhJZfB#5NO?3a}y52G=#hfVx(_iG4$y4?) z-)3M@+R8uquqW=4a-Xo&^xV~yS*4n$AWP~`Lhp@86)5bL@7}06+TIX1;m|KTR0UaQ zbbMN+l=*m6+KaY+IQ6T{IEZ#Ee9K9Cngc8uqlO4V009611h9=m(A7i4qh0oHhDbey zY+J-!$9$oSTYQblo>ra|v?w#vv454EUxlc4f2ooo8IcWcvbwo(r$0|Y#&%z|2XHD2+H@BjH}yJb4eE_e#vxuXx5V-@`W=j&(m b|ARRT$NGQLp_Mwz)xz35Uz0O?>cRRj7vMN# literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000214,src_000081,op_int32,pos_26,val_+0 b/fuzz-afl/in/webp/id_000214,src_000081,op_int32,pos_26,val_+0 new file mode 100644 index 0000000000000000000000000000000000000000..455615d5e11c7802e06a31e462c8762394ad0cfd GIT binary patch literal 641 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLK76TC2O*EM4X|Q+^P-w*l1I`=!FQ2+n{ literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000221,src_000081,op_int32,pos_26,val_be_+32768 b/fuzz-afl/in/webp/id_000221,src_000081,op_int32,pos_26,val_be_+32768 new file mode 100644 index 0000000000000000000000000000000000000000..820d0731e89bcc56e1e9177a91ae9f69cce4dab8 GIT binary patch literal 641 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLK76U_rf!#!dnVtrV7XgJk literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000222,src_000081,op_int32,pos_28,val_+1 b/fuzz-afl/in/webp/id_000222,src_000081,op_int32,pos_28,val_+1 new file mode 100644 index 0000000000000000000000000000000000000000..424f4e50f7f7a1d494cb626ef17d51783c5c8c69 GIT binary patch literal 641 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmI4DK1A~FVOi$Itixf4uR%{UBG+>C%1uGz% V02&AZ3Ji7z4l`lAQF_FN001cadUyZ; literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000224,src_000081,op_int32,pos_28,val_+127 b/fuzz-afl/in/webp/id_000224,src_000081,op_int32,pos_28,val_+127 new file mode 100644 index 0000000000000000000000000000000000000000..c480164696eeaa5c043883180012431863e74ac1 GIT binary patch literal 641 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmI6aP1A~FVOi$Itixf4uR%{UBG+>C%&HE+9 z>ERePp-n_3485L%N~{&@Y%{sgsIU?V zFaTR^Zu$}lNI_bVh7=@Z*>hJZ5+eFP0X&xm)&NS?>D2Tou78A2)AFV(+GGW1I1{W9 z>I9{O+yDSpP&gnG0ssIo3ILq}Dj)zL06vjGnMoz1q9G^>sIU?VYyhk;0hEizf8ad8 zMUwgebdpSbS_0@2tY&xPuj!9qK8~J%1+x~b{Ov9S`_~JCBVP^c_A+Owi4*0N9C4o{ z0092?>2S|x@^9?k<@~r&ba2~o$`Vu4D^0ZR`;t2Qw973*BdeU*j|Z!A<5qc z_r`rD#?!pn_*4!eyQaS@;tW&!?yvCT^lhJZfB#5NO?3a}y52G=#hfVx(_iG4$y4?) z-)3M@+R8uquqW=4a-Xo&^xV~yS*4n$AWP~`Lhp@86)5bL@7}06+TIX1;m|KTR0UaQ zbbMN+l=*m6+KaY+IQ6T{IEZ#Ee9K9Cngc8uqlO4V009611h9=m(A7i4qh0oHhDbey zY+J-!$9$oSTYQblo>ra|v?w#vv454EUxlc4f2ooo8IcWcvbwo(r$0|Y#&%z|2XHD2+H@BjH}yJb4eE_e#vxuXx5V-@`W=j&(m b|ARRT$NGQLp_Mwz)xz35Uz0O?>cRRjT-P}8 literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000228,src_000081,op_int32,pos_29,val_+1 b/fuzz-afl/in/webp/id_000228,src_000081,op_int32,pos_29,val_+1 new file mode 100644 index 0000000000000000000000000000000000000000..43733619aa508aadd4b77df69e0a3287c1f8045c GIT binary patch literal 641 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmI8wUBZGm#Oi$Itixf4uR%{UBG+>C%&HE+9 z>ERePp-n_3?0iR*(7jb?zqRc;46FjM7(j3O}79Q#fCRf#Kixmj&n3KIOl;_w>(>z>>}@YK~ymKg`#q4S(K<>#S8gd7th3v0Albm-pQK5yGdmd)a>N zM?As5->v`f=u7VWvikoX{=OyupY6J5q1qBmJoRBl>N^Q>hC5M z&EIh4%blxJBA3ourr`a`-|2m?hp5JzsqgQtu)K9o!2IC_ed`d`$n=t$sHIbWR)pN@ z-d1Pvb@dsGjxwE^)1Fncm~|usQ>@~ literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000238,src_000081,op_havoc,rep_8 b/fuzz-afl/in/webp/id_000238,src_000081,op_havoc,rep_8 new file mode 100644 index 0000000000000000000000000000000000000000..e46b96379d9b719b8fb7999e8ddd246d06f2fa55 GIT binary patch literal 584 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmIA{92D^y{Gd&F!8yIMCt=M3|nZppBoA*nI z)59@pLYs(6%FW_%O(CUU_KY^u*{(5oU441wi{`re7XQnimTBKgVNJIXUL*L5Woh#r z28J-O!3GR4vlW1511(Wqyhssbwh++lHTsNGx{uXAusPs5=@&!EB%hinrWZnM(#jvN zf7zd4*Eg?$b+g#&KX3Jze_!WrQjX_+{mm$SWvB4dDKdrgRTvoleScYSKJ8Qfn|n|H T>A(FS?Hgg8AM zqb9V8sHEI14hKn+0RDs2{{R2K0f<514g&+oRv{(^24q_uW_qeFUc|LQhy>d z4g&+od?6+V2DteQb`v3H!;M&@&p4&~Sp5T=1Fn;PDV0o0`On>?e4qFAH>32Gox)G2 z$P~_3VPN?8{bj-Vv`@)z?mhjpBe104cHt?Z;LBjAF`zh28R)cH#gq5hz8|YqJ9c@` zmmeW~i+3;Eul47W_tO#r zZ=JILxk3Hiq@ww&UVgcAbxP#YCCe1NU->(|pX$M`adqnZdn+t&-4ii?ctPJfgf%j~ zq$XB^Y7n^vig;i6#v&VFj&9k5?^2z zwRLaHHI9c@k9y5;FVy}o5~x4>B`CyepSn)Jmv=(vm(^5-Cki|M@dci5_w>H}WX&7emP;pPDG97eZ^&${(+P*`Hw72eU+v`S*41 zCgphE*WZlNS9S_Nogz~>Uxk6;-}jdV=hHsrzq$AH&yK*7g4>0sgn}=4knyi=O zpG*@7{$_Chg1^)IUJp@?H&fr=TVZ+Yo`Cto3;Na}tdZ#@HBn2a{HzGM)xE9G;_GSw zhK@3wn$wA(FS?Hgg8AM zqb9V8sHEI14%ZY?`en~(Go9@kgV)uUAftFUK*!9h8z|cG@Fwh|Y0P?A(FS?Hgg8AM zqb9V8sHEI14%ZY?`en~(Go9@kgBJtKl`op>>RbFTe_968gavRnDTB;b0GYjbk)j6I z{tZH$ISgy`8K-m~tAAi~z;)6uhLTA>HBn42gw~|RK3@N_Kf$hVUIXi9vDJUx>M{Sm l4m2X3_w_fU^p%~$Pp8Nf&R1bz`1k!~0T$avg$7>;003mRle7qs?@-YYbjjUtam5xvsv&|MI6}wQ9#M@7ez&gimSrvi;f) z4h+BFt^e@oOYZ!#`u`r?$Lb&09B`fVi=kwaPfZll3!yb><&W3D>`$=ko7cd)S#0&6 zw|dOKuX8sk$Me4aW|Y3NQ~2o=o0Vs#M3tMyee8b!|7YgzREslu+q_Lg%d;=%Z3~hq zoUg*b@bCM}g7ayg^55Kh`e#RANx|*HQ$oR)wSBj$8!X?I9QJ)RM=>RxRlk?-?!xdvt9R$G`G#sWW5~!WZKE#ZwB|%5(00Xvj54z z@NQDk{0&#W+_^X8g6RZ*H1f_%A0034{I3N-N001xw0G$CUAOIi$K9N9~ zNhPDAAt(x{uo4Mu0IV+ol#8{0;5@)ZlKKF2l1zMB0x%M+W_RPS>33j0j-G%8vlgBF z?JfiR*9(FpUk&T_UuUU_6Xlc~ai1gr0RH#saL;D)Z|vUX{J2qcaNBXp5>wMFO%MPu zr@CWS_p1m~1^ffo8!`FVUWt7n$=?RA@Z$7spLT!$|9?$%|K_^hGAYHJDFxGCQ6%NjYt(J?3M4{s5#o+5I5n_FFRBP zS!Z;7T85PQcvRYpwthJEtIRlvb}W3$NqU+CEE%KM2toh>000EAjYH7YL&T$9_HKqq zJ%wyr#9YUGp^IC5jme%?o)okwGt;qum7HINsCIv;k|7zC>|mVqDQo`zRM^@(?F#;% zHd@BLgw_b*)x}DfM{z6v6j3jm>3!uzm)>s3EQKxhs;%C(WcSnk%jgt;v9YJW2$mgR zcQ?)YI+Y;gAh`YxQO}1-nbYLV=;TUYP2$D+*Z$r3Nq88|?LLn@3}%&#>*Kt@)r&r> zG56mW|HZaTG!=Ji({8p>4=4i!JgLlrKtKRq@r&>O`DwdlI?OJ33f;M*513;W{Qu|c dXY~JrISa@7f6}3qI?L6<+B{#AGkfa6`Y^$F9rgeK literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000264,src_000081,op_havoc,rep_8 b/fuzz-afl/in/webp/id_000264,src_000081,op_havoc,rep_8 new file mode 100644 index 0000000000000000000000000000000000000000..a8980a6fc5ce6cb4ab41cad6e493bfe7257fc882 GIT binary patch literal 625 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmI8wUgWW`fnVzbP4Gc86R%|ff%waId-Ae$h it8ekY{AroCK?-ZSh431|S1e1L?|@AmB}PNQzyJUT$d4-k literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000266,src_000081,op_havoc,rep_32 b/fuzz-afl/in/webp/id_000266,src_000081,op_havoc,rep_32 new file mode 100644 index 0000000000000000000000000000000000000000..1bb9d24130b1e99525ea35a4dcf0b5f47c4e9729 GIT binary patch literal 726 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmI4JshJZw27#s+$;{)6jJ(S$Y?X2?HYsE)t6VkXs)Yo@xT0Onf9#| z)^rQuS%R-vmNwsEU;tSx#Khp>z)=7H|9_C(34ngmwDKEqowWuh@3VbBR;zaG@}8SNLLRSw*`Hw7H?M(pv)JlCZ}pgeU*~R8 zj^};-%_x0kr|{D$GKKS17#RM2e_3!o?Nk1ndr$xD2rMbMU3f|;__DU|R%wIfyF|;g zFXwFw;@4niky?2s+4=iwj$qb5%-5w2e}XJjM6r-hY4@`I+K+gGf4^g3dGsZBepCH_ z4}ag1|Ic>a3)DP1N0ae#{F7-XgTEQvPfG~Ab;|zd2K9H7iso;)^5xFeDUnNOEmQD* zNUf?Q2W0~p#JQawNG8A-^)9p z)2jPz)!KX8c7DJ7_w);q`i&cx@8_5%8((gI_LtREg(nI-fHwT&4m{uPIrH+9GcTTa z#rr-w`s@0?yFY$aNSu9ZhXPg`e!nmN|L8Vv6Qt0!S$U=@s@yaVlnOp}zyJR;b9buM z8NCXwyE_;2&qx;i^Z)tl^e_LLExC{Xs=u^ws@3VMhi=)#Pd3Jykg8uD{ABhJZ5+eFP0X&xm)&PLj>D2Tou78A4)AFV(+GGW1I1{W9 z>I9{O+yDSpP&fdrF9DQ`#(&^Ez(tb!0CbW}d|CqN5-?_W-I8dsfiQilpJxNBme;Z_vvuYX7X?B-gN)wy52G=#hfVx(<@E28!)H3 zV^;U82vY_81J@fd`Pg2GeId!;2KUB&CdSje+4xirBDra|v?w#vv454EUxlc4 zf2ooo8IcWcvbwo(r$0|Y#&%z|2XHD2+H@BjH}yJb4eE_fu}xuXx5V-@`W=j&(m|ARRT c$NH4gp;k~hAeB1H)xz35Uz0O?>cRRj050Mol>h($ literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000271,src_000081,op_havoc,rep_16 b/fuzz-afl/in/webp/id_000271,src_000081,op_havoc,rep_16 new file mode 100644 index 0000000000000000000000000000000000000000..936ed15f0e7154d8b4865d36d8e8ef6fdb41e91a GIT binary patch literal 608 zcmWIYbaOKRf^b)-fUp1y1rXanfMG79mIA*5gWW`fnVujK4Xzai2Al>A(FS?Hgg8AM zqb9V8sHEI14%ZY?`en~(Go9@kgV)uUSH5Vjt8ekY{Aro?trXUD3*j|_uUM8g-(g?? znJvV`z+k`yHk$!tw!=(M)y0bxfo5+I;>=-Kqt7^{`6d(>~?D zx%c$XaS+%MSW1qB zmJoRB)cboYEO*}%Fn@SK-#UafGQFfGYUz}p6(P5}x7AsEU46!)qfDpfv}e^UW*y1J zZ5%7lG)0x0#(nI5|Nm#^ZfC1AdKFxEofsGy7+5y+I$yZzd}ML#x4bqF+t!@uBQeKo z7IsJ1^q!m-Hcw=WhVkW%^;74>x2`CwUpYxpa>|>8IbSrh|NRTO@zeS(*T4B@QOEYS zT;q6n^{Cej_d@OeB8mF5U)DZ#oqjLxgifpOw^eKJZQJ?%as$H)k@}4rm+$A8CL3RF ze)gBuRD~xBJO1$no^SV@dHKNAZoAcn-|vh6Kf2A^M6^8na^AKeehmi)22{7FLfpP{ UG5-wAfV6@JA(FS?Hgg8AM zqb9V8sHEI14p$RW`en~(Go9@kgV)uUSH5Vjt8VeX{Aro?trXUD3*j|_uUM8g-(g?? znJvV`zyLR!!EU0%Oi$Itixh!oZxG_lVOXQjIHmho{R5i=u9JQ-luYueiDG&ov?i_m z@%oqj33h$+8dx`rt^V^?kNNj??k44U-q+uZ(pPi}Kb;~|IA4W<;UCZ|=hHsrzq$AH z&yK*7g4>0sgn}`^ULc0d-(g7{C~FVo{{F!Ihw4O zk!t+^pcvWrBi-Zgxu=hR%h{b^%;v-{!Z_EJw!F$OnrZEh2^b# z3<@}vc9iMVoc64mh33)=S5p`k$9~Ie^RR8ri9Ql@yk=o{bWQKcd13QJwrCh%-dI0% zPJHW%GML^uUo^A-{R_GA)A}vfzxifS$M&{d<9K-WsMielLhb(|f%>yw);@KeelPEY zPOI*>Rcr5U+xh+S-_tKd>Njp&9$#*L_7^accKqWDJm2m)^YW83FP?bC`#w7Q>-xXD zKRhcW&c3zlx8X^f+VlGHoA?N%Fpzc2p(=r(T?(emuedE0{cHJDj!R-S2!DmRV$ z*!}+h&&=JaR%i4oxbE&;%s(Sp^w0n2uhYN$Z?@z<{;U4d!l_oLuO7N(6F=Fw`qjZ- F1^`zpGeZCX literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000275,src_000081,op_havoc,rep_8 b/fuzz-afl/in/webp/id_000275,src_000081,op_havoc,rep_8 new file mode 100644 index 0000000000000000000000000000000000000000..b858ca6c41a4edd031cfd148c79d4a4718a29b88 GIT binary patch literal 573 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmI8wUgWW`fnVtrV4Gc86R%|ff%wdSm&HE+9 z>ERePp-n_3SUvH?;zf!eqlAD)tA(FS?Hgg8AM zcTZ>&QAxR(9Ih#(^vj;nW;)w72Cu6xuYA#5SKs1)`O`A(TPdvR7Q$-;U$HE0zQe!( zGFym=fdOhZ1IX;dcmPAmB%hinrWZnM(#jvNf7zd4*Eg?$b+g#&KX3Jze_!WrQjX_+ z{VjcEr|{D$GKKS17#RM2e_3!o=u`fidr$xD2rMbMU3f|;__DU|R%wIfyOP7cujUA5 z{lk1++VJO%xXxO|llR%aAFEY6c6rauA0d27yO-?;`dRxCPw?+|>pwjDk~_bw{=bL6 zZ^{2>yY3lj9-X7fdO7~dw3Cbs2KUnv0#BT>|G7c^-K3)V8?Jo0b9GAO(pk$CykGe{ zz3=r9)p#@Y{k;{Ix9$m;KfIuC9l{!!UQ!b^amvq%kXzl`>MXvlK4Z~Qrc-m;vuYNz zj^yGt4krdi1_qW5z0Mb|Iv-ga`z^1{!?rai`iKGp14DOoP4CHhVe>?`Xc%AKSU+`6 zeCvv``jwLuC8xYenDa$5``^Ei8$Yeza{Zfc7IkcI%QcRNSC4wla4*#UFA}If`(^D@ z*Xj52PUy7iep|Kn-nO0JFaJILLZp7<#^tNzSIfqio1gt!j6A@f#=&jXYP4& z=EW1Qc;81ye_j7~_lIYN#M!rY{Wd&lQ+r-N-gDq;x7}*P@At+3AKm6{B3hn(Id5AK zzXmgl&B`-PQ3j@QAG_cG|CzZv)#{911=ro3i}`0Hi~jll{B`=5|IL=%$A8sdS~%6} S^wC4NY~m*ySHC*=%K!kj13u~i literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000278,src_000081,op_havoc,rep_64 b/fuzz-afl/in/webp/id_000278,src_000081,op_havoc,rep_64 new file mode 100644 index 0000000000000000000000000000000000000000..c1dfb2fa243c7e82e0e8e58cc1ffbf2b8536a48b GIT binary patch literal 578 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmICt&2D^y{Gd&GvF9Hg!Fp%P8cxRAf5N(k6 zONi6MF{-m|ib~4O;&4qH5C{Sq1ZLPQ)7HWS?odM+6o7_0h;XggAjFx&utuM8O82q) z2Q~*>C;eh5ndDOw#q>gGOyi;CA6DA&bk}zFVaY4)011`@WhZm`i~9y0qcX z8*!briYM>0ecw>4cI@)1n?I`fly)!Mul>YU#9dWdSgnfm_T3QK%$1BFdqn}={~PV~F=NXCRCn{nhw z%<-Cq-O)9@C+CID6WO9+e5rowocPu-0So@!Z@C;8%%YC%ZMnwr@MY~&*Xj52PUy7i zemk}H-nO0JFaJILLZp7<#^w7trpd;an?G@k_kDEq*Y$sQe|T0%oPBH8Z^M%|wdeKY zJqNCK+pRYIeqa3m(QV!)qU8#g^R@-?YcR9etUS{cRc;#hvHR_dpP9Q;t+#l^phcHAgV(ALi@Q zhCgq_b=E4LywCRiSgqQz+k0;Q2;o!Oy==esBc8Lr->v`f=u7VWvikoX{=OyupY6J5 zq1qBmf(2nl>N^Q>hC5M&EIh4%blxJBA3ourr`a`-|2m?hvx2`CwUpYxpa>|>8IbSrh|NRTO@zeS( z*T4B@QOEYST;q6n^{Cej_d@OeB7yp|U)DZ#oqjLxgifpOw^eKJZQJ?%^54@h&?8Rl ziNX%m#fubSkrADncU_3n!!c??n}|xv&EoKXe1YfNJ!f8i^5Vr4uX^7{M}J-a2MqeV zKRhcW&c3zlx8X^f+VlGHoA?N%Fpzb{^%eK~Ji5Wfa9i_OY2O;P2haUZ+i|Noh} xJJsrpUIo|Pos0SF{{zAE*XdvWH(PQa|5bl!;Z&>BR}bB?iJxp-{p#Q^0|45#J9hv8 literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000285,src_000081,op_havoc,rep_16 b/fuzz-afl/in/webp/id_000285,src_000081,op_havoc,rep_16 new file mode 100644 index 0000000000000000000000000000000000000000..30698a64c7caf2865defed51e63b34b3baefae89 GIT binary patch literal 592 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmI4DuFzX+K>(YilZy0nMD4x7;@ZF%+;MnCo zH-CgEFxX9WnCYpyc#)z8*NP27oH-29xp}{YI6WMrCbWsDq}(hH*A!CvWzT3co$VTf z*VUI-zG$wiZ}GqUX_@w|6xMVL;WdJ5VPF7RE5yXW0J9d0*=zI}r*t2yf55s~ zZ1tbFdd$DCb2ll+^S=IOl)kc4_~{gx!ucu;4FA5rEI6O`DZl34(?2@`OMvE{5(>Vo z?YmXlVEL}(u=a<$0_we6Q^8eYcdq$c^=V*Spb9GAO(pk$C zykGe{z3=r9)p#@Y{k;{Ix9$m;KfIuC9l{!!UQ!dabjr_)kXzl`>MXvlK4Z~Qrc-m; z^FJ<7HH%qCa&a4n69Xdy1Ivb9=L=Vzk1US;me=NC+nN)7B<6U{!tUsr-jnmf=80_4 zFuuI8e(Id~))i&-Kp#j>d6O{bi)N0*zmOY0t>1F}n{O6%Y;Vgoj)zx|dd+Yz)c!9L zs6YEA2J^ezYe&fdF`#Gk`#+RF){be;(;fcbIe|&-G z+dXGqesbo;6R&vRM@N5M|9AI?XNAPsw|4zDJZV#VUO(P*;A*$sYQyjM#s44O=4~Qc yo_#rQTM)knGmFj2Gfh$Drmxe#{BO48KK`rz(!%Lhr>`EmWfMQyxccY8Uj_j4=_Wn^ literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000287,src_000081,op_havoc,rep_8 b/fuzz-afl/in/webp/id_000287,src_000081,op_havoc,rep_8 new file mode 100644 index 0000000000000000000000000000000000000000..81b385461eb19688730d2ac8f48c135a31806c6f GIT binary patch literal 641 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmI8wVgWW`fnVujK4Xzai2Al>A(FS?Hgg8AM zqb9V8sHEI14%ZY?`en~(GaaOe2*3a{TLEac!%R=r#fubyW^WMU%wbrwx8)kg!>dQV PX1Es;VbrLSVG#lVhSY=E literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000288,src_000081,op_havoc,rep_32 b/fuzz-afl/in/webp/id_000288,src_000081,op_havoc,rep_32 new file mode 100644 index 0000000000000000000000000000000000000000..c70b19afaabebad2670e2cd7cfa5052f5b2228de GIT binary patch literal 652 zcmV;70(1RRNk&F6FfcGzMM6+kP&gnkFfcGM3ILq}Dj)y=1OPBFnMoy9P&hCOs4x-< zYyewrZu$}lNI_bVh7=@Z*>hKb0000#0X&xm)&NS?>D2Tou78A2)AFV(+64t?I1{W9 z>I9{O@Bjc-P&gnG0ssIo3IK@#Dj)zL06vjGnMoz1q9G^>sIU?VYyhk;0hEizf8ad8 zMUwgebdpSbS_0@2tY&xPuj!9qK8~J%1+yEg{Ov9S`_~JCBVP^c_A+Owi4)~kP&goz z9C4o{0092?>2S|x@^9?k<@~r&ba2~o$`Vu4D^1HA0PeP9R`;t2Qw973*BdeU*j|Z! zA<5qc_r?HZqtm?E_*4!eyQaS@;tW&!?yvCT^lhJZfB#5NO?3a}y52G=#hfYs(_iG4 z$y4?)-)3M@+R8uquqW=)a-Xo&^Z)<=0HvCyAWP~`Lhp@86(|dq?+vIq+TIX1;m|KT zR0UaQbe#b-d|IWH`FK>?i?)6^^{dP{h;}S|%Sn2g11uS%h6q9c0RR95u#H2|)kDN& zUG{E?y@b{X;nl@Tm`8Cd{}fR#o9TV!V3*!*$Sj2|_NuMkwz>Dm{mbYSf3dNr zzX+BcUw1dn`Z|>$u2=;gE(Y literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000290,src_000081,op_havoc,rep_8 b/fuzz-afl/in/webp/id_000290,src_000081,op_havoc,rep_8 new file mode 100644 index 0000000000000000000000000000000000000000..d6d18cf0beb6718b74b3a3d00621a4904d408d93 GIT binary patch literal 660 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmIA{DA4ngmwDQO6 zU-l>1_04Nw-7L2H&s#m_-`5e=bP7M6B2zeDg@NJU_m>6d(>~?Dx%c$Xj=++F+l8lu zf-h_PZk0AzzAHKG`)ZD0)<4YGr44`Hi0iCXJb9n(`>|TJW0&{b{1L*Zw0qfp?MFPp zzu&F@@aRkK{IdH09{#>1|DWx;XQX*_jwb8n_$Sj&27fcSpOz4K>y-V^4eIYE70usp z<;$I`QzDnnTBhLr%HQdIuZO6{o2l>bt+2dxPr&@)1%2xf*2u7VB3m?!FK?`$Iw!t$ zMOppINs5wF-Xx@#)I=?v@-r^vR`<3#i?6HCSag)>)SULLn#HUmxwwtPiGh)Ufn`Il z^M$L$hD0=9@(w z+Y2;^;p$PZ8SaJJ|3w1zXTPj{>N@>i-U*#n-EXVb-rKhG`{loma*zxZb)i~jll{B`=5|IL=%$A8sd zS~%6}^i_tENj^1EOfQ7irj9u5Vrg>t?alf8Odb|Gv)Mq#V!t`kPVu%1+^@ zQ)CL~t1vM9`~I@vZrZ2(H}{_Y*%4S$aJvwnqZK#YXZwDvR_z!Q9#HcC*{*v=nn&ko zvR;mVGVNsWH-ndH34ymx+5g<2{%%sy{0&#W+_^d>a_OvP3f`~$o!<9)h-$o<`u^Su z%UkyZ%pYFRw+>;AOfRX4S~}%tMaYI;=L=Vzk1US;me=NC+nN)7B<6U{!tUsr-jnmf z=80_4FuuI8e(Id~))i&-D<>&RPI;3s=Zj|czkeY&epe$|vYa9=+9`%~x zUa0+FBv60$*V?D9)9>Y-&}r5EwrcIYZ9BhT{(Jg`Nd3l*%lC6klZ`JoKl{sSs@4;Q z9sl?O&$oNdy!_D*ylh literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000293,src_000081,op_havoc,rep_64 b/fuzz-afl/in/webp/id_000293,src_000081,op_havoc,rep_64 new file mode 100644 index 0000000000000000000000000000000000000000..91b2c2770427cd2ad52b5e975f323185154a4777 GIT binary patch literal 724 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmI8wUx7|d8nVvv_0E+_#-3A7R-|vena4|6g zMJBX~7^K{+4c8P>`en~(Go9@kgV)uUSH5Vjt8ekY4AlN4$0{D!9B`fVjiF?cPfZll z3!yb><#(=5iCj8snS%E#f2a4o9-wN;n*-24&3r!;rje(gs*!N1?F|L{mKaei6-e-D4( zlK;0# zw+>;AOfRX4Vqj!o2)Wh0t>N6G{WjZydJ*!ZIaqa|AEP;Y?7PF4z;x-N^21a=X zmJPiI7p^)VSseQ}t6w=u zQF6+gggIX{v;X}IxpB?+;nkyF{}~E3|BDDiK%oBYm$gq_r{BvvVbH4kZPnU)+jf4x z{P*-5mHLevm+$A8CL3RFe*TwLXPB#n!n|48j8=kbOJ+B|{IdHYxZnfbqaB^Z`u)*e0E{6X{w|Se0mM2`!+ZM#H!OUW_@=Q}y pxvAgB?)T4Mr+@k1Y{`B6SN)}hQ>{*4J#@<^ezI}(tAoD`qyeTfK{WsX literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000300,src_000086,op_flip2,pos_26 b/fuzz-afl/in/webp/id_000300,src_000086,op_flip2,pos_26 new file mode 100644 index 0000000000000000000000000000000000000000..72d7d3b3de86902e0eea782b8b21a8361db3bcbb GIT binary patch literal 641 zcmWIYbaOKRf^b)-fUp1y1rXc7i(xLKmIH$VgWW`fnVujK4Xzai2Al>A(FS?Hgg8AM zqb9V8sHEI14%ZY?`en~(Go9@k14!K{7!3h@Ay9v5;Z&>BR}bB?iJxp-{p#Q^0|5Q= Bg@gbA literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000303,src_000086,op_arith8,pos_27,val_+10 b/fuzz-afl/in/webp/id_000303,src_000086,op_arith8,pos_27,val_+10 new file mode 100644 index 0000000000000000000000000000000000000000..b77dff8bf141264c84be10a54b812269d9a03589 GIT binary patch literal 641 zcmV-{0)G8cNk&F6FfcGzMM6+kP&gnkFfcGMN&uY!Dj*6V06vj0nMp9CqA(~5sIV{z zYyewrZu$}lNI_bVh7=@Z*>hJZ5+eFP0X&xm)&NS?>D2Tou78A2)AFV(+GGW1I1{W9 z>I9{O+yDSpP&gnG0ssIo3ILq}Dj)zL06vjGnMoz1q9G^>sIU?VYyhk;0hEizf8ad8 zMUwgebdpSbS_0@2tY&xPuj!9qK8~J%1+x~b{Ov9S`_~JCBVP^c_A+Owi4*0N9C4o{ z0092?>2S|x@^9?k<@~r&ba2~o$`Vu4D^0ZR`;t2Qw973*BdeU*j|Z!A<5qc z_r`rD#?!pn_*4!eyQaS@;tW&!?yvCT^lhJZfB#5NO?3a}y52G=#hfVx(_iG4$y4?) z-)3M@+R8uquqW=4a-Xo&^xV~yS*4n$AWP~`Lhp@86)5bL@7}06+TIX1;m|KTR0UaQ zbbMN+l=*m6+KaY+IQ6T{IEZ#Ee9K9Cngc8uqlO4V009611h9=m(A7i4qh0oHhDbey zY+J-!$9$oSTYQblo>ra|v?w#vv454EUxlc4f2ooo8IcWcvbwo(r$0|Y#&%z|2XHD2+H@BjH}yJb4eE_e#vxuXx5V-@`W=j&(m b|ARRT$NGQLp_Mwz)xz35Uz0O?>cRRj;ukt= literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000304,src_000086,op_arith8,pos_27,val_+17 b/fuzz-afl/in/webp/id_000304,src_000086,op_arith8,pos_27,val_+17 new file mode 100644 index 0000000000000000000000000000000000000000..88465219c4ff2633965533825515284409506cfc GIT binary patch literal 641 zcmV-{0)G8cNk&F6FfcGzMM6+kP&gnkFfcGMN&uY!Dj*Rc06vj0nMp7(Ffb?zs4y@I zFaTRHZu$}lNI_bVh7=@Z*>hJZ5+eFP0X&xm)&NS?>D2Tou78A2)AFV(+GGW1I1{W9 z>I9{O+yDSpP&gnG0ssIo3ILq}Dj)zL06vjGnMoz1q9G^>sIU?VYyhk;0hEizf8ad8 zMUwgebdpSbS_0@2tY&xPuj!9qK8~J%1+x~b{Ov9S`_~JCBVP^c_A+Owi4*0N9C4o{ z0092?>2S|x@^9?k<@~r&ba2~o$`Vu4D^0ZR`;t2Qw973*BdeU*j|Z!A<5qc z_r`rD#?!pn_*4!eyQaS@;tW&!?yvCT^lhJZfB#5NO?3a}y52G=#hfVx(_iG4$y4?) z-)3M@+R8uquqW=4a-Xo&^xV~yS*4n$AWP~`Lhp@86)5bL@7}06+TIX1;m|KTR0UaQ zbbMN+l=*m6+KaY+IQ6T{IEZ#Ee9K9Cngc8uqlO4V009611h9=m(A7i4qh0oHhDbey zY+J-!$9$oSTYQblo>ra|v?w#vv454EUxlc4f2ooo8IcWcvbwo(r$0|Y#&%z|2XHD2+H@BjH}yJb4eE_e#vxuXx5V-@`W=j&(m b|ARRT$NGQLp_Mwz)xz35Uz0O?>cRRjk!d)T literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000306,src_000086,op_int16,pos_28,val_+1000 b/fuzz-afl/in/webp/id_000306,src_000086,op_int16,pos_28,val_+1000 new file mode 100644 index 0000000000000000000000000000000000000000..a8644f16e21dbc13cefc2db26f2ebd7be33920de GIT binary patch literal 641 zcmWIYbaOKRf^b)-fUp1y1rXc7i(xLKmIA{IX1j?7Gd)2f8eA(33^)xKqI2_p32}Nj zMonlFQAxR39Ih#(^vj;nW;)w72Cu6xuYA#5SKs1)`O`A(TPdvR7Q$-;U$HE0zQe!( zGFym=fx&C;eh5ndDOw#q>gG zO-1%ko|2_PDOa4FGbz;u5!wdS>A*_+< kB{fk?4SrUD0&;|d`b!I^TAjXn=$1|VWaH{r2Y(p=0G}1!dH?_b literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000307,src_000086,op_int32,pos_28,val_+4096 b/fuzz-afl/in/webp/id_000307,src_000086,op_int32,pos_28,val_+4096 new file mode 100644 index 0000000000000000000000000000000000000000..6ad7ff061f4724b4c94f02cac83f0527a844936f GIT binary patch literal 641 zcmV-{0)G8cNk&F6FfcGzMM6+kP&gnkFfcGMN&uY!Dj)y=5CAYRnMoz1q9G^>sIU?V zFaTR^Zu$}lNI_bVh7=@Z*>hJZ5+eFP0X&xm)&NS?>D2Tou78A2)AFV(+GGW1I1{W9 z>I9{O+yDSpP&gnG0ssIo3ILq}Dj)zL06vjGnMoz1q9G^>sIU?VYyhk;0hEizf8ad8 zMUwgebdpSbS_0@2tY&xPuj!9qK8~J%1+x~b{Ov9S`_~JCBVP^c_A+Owi4*0N9C4o{ z0092?>2S|x@^9?k<@~r&ba2~o$`Vu4D^0ZR`;t2Qw973*BdeU*j|Z!A<5qc z_r`rD#?!pn_*4!eyQaS@;tW&!?yvCT^lhJZfB#5NO?3a}y52G=#hfVx(_iG4$y4?) z-)3M@+R8uquqW=4a-Xo&^xV~yS*4n$AWP~`Lhp@86)5bL@7}06+TIX1;m|KTR0UaQ zbbMN+l=*m6+KaY+IQ6T{IEZ#Ee9K9Cngc8uqlO4V009611h9=m(A7i4qh0oHhDbey zY+J-!$9$oSTYQblo>ra|v?w#vv454EUxlc4f2ooo8IcWcvbwo(r$0|Y#&%z|2XHD2+H@BjH}yJb4eE_e#vxuXx5V-@`W=j&(m b|ARRT$NGQLp_Mwz)xz35Uz0O?>cRRj8D2R) literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000309,src_000086,op_int32,pos_56,val_+2147483647 b/fuzz-afl/in/webp/id_000309,src_000086,op_int32,pos_56,val_+2147483647 new file mode 100644 index 0000000000000000000000000000000000000000..a2da8ee90cc7ddda0d89360fcc8b3bc6f372a1be GIT binary patch literal 641 zcmWIYbaOKRf^b)-fUp1y1rXc7i(xLKmI8wUgWW`fnVujK4Xzai2Al>A(FS?Hgg8AM qqyGQ@U!QWbI28pos*~Cvau6}j!mjM9vZH8O` literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000310,src_000086,op_ext_AO,pos_28 b/fuzz-afl/in/webp/id_000310,src_000086,op_ext_AO,pos_28 new file mode 100644 index 0000000000000000000000000000000000000000..5cca83e6f688ab27addb44a1b9977d28d4d2b60d GIT binary patch literal 641 zcmWIYbaOKRf^b)-fUp1y1rXc7i(xLKmI4D%%)nr#r|RNGiW*!iHVAPVFhu9({SxBz zaEzMJCZdvZvp8H+Na>e7qs?@-YYbjjUtam5xvsv&|MI70+P6|z(=CM82)<%j+I)wB z0c5ri69a<*7sPA@2D^z4$Y$p-tkGwj(tWJ{fz1KeNxv9MCi&DvF})C4lUDwC{mcFY zyS{l1teeGF|9Pv&{QEk0lX5)o>u*NsD?5dsPLU~`ufo9a@B7Pw^J$;*-`sopXGdU3 z!R^9RLcy1{eYZ**EZ>zJ_I))+FzX-Y>(YilZ^U)hDxSR0_Wf9`+Of-fZvF`2Q`)_3 zzxE@Z;NS1oe|YpIcYay@e-D4(lK;~v-rCDj73M8PR(i0s#(lBl8f6ooER7x7+5y+I$yZzd}ML#x4bqF+t!@uBQeLp cu`!&8`b!I^TAjXn=$1|VWaH{r2Y(p=0MkwEBme*a literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000315,src_000086,op_havoc,rep_32 b/fuzz-afl/in/webp/id_000315,src_000086,op_havoc,rep_32 new file mode 100644 index 0000000000000000000000000000000000000000..db96aedde3b740e1a99954c6a887648c009eee70 GIT binary patch literal 545 zcmV++0^a>nNk&F6FfcGzMM6+kP&gnkFfcGMEdZSXDj)#*5(zLtS}=w%BxKohS1A%A z`ac0MmoU}^s5(#VotS3t z3Qz^J7N-2JE(8153xWWE4eRzYXQ_!3<&->epCkYP{`ctx`~%k;G5OeDiG3l--v;@{ zeI~}!yxI6v4kEjzzboPlQ~U0(@Z$7spLT!$00d2R|K_^hGAYHJDFxGCQ6%N0hEizf8ad8Fp~NJbdrro6)5bL@7}06 z+TIX1;m|KTR0UaQbbMN+l=*m6@{6{9IQ6T{IEZ#Ee9K9Cngc8uqlO4V009611h9=m z(A7i4qh0oHhDbeyY+J-!$9$oSTYNn|jme%?o)okwGt;qum7HINsCIv;?F#;%Hd@BL zgw_b*)x}DfM{z6v6u$_TfB$zk&H6f(Amkvp{ti*khe?^!cWcvb*-{TE0|Y#&%z|2XHD2+H@BjH} jyJb4eE@$-rgEkTxxRu~v?8ZboX=KT`l z^hl1H&?cgia!P0I1SufG|kuj~|lIz^^%z6t}wzwa*#&Zm9Ke{=8YpB;fE1-A{)P{N=|00PQ`;7XSbN literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000317,src_000086,op_havoc,rep_16 b/fuzz-afl/in/webp/id_000317,src_000086,op_havoc,rep_16 new file mode 100644 index 0000000000000000000000000000000000000000..26687a70722a87e65dfd563114dd84d28c414762 GIT binary patch literal 651 zcmWIYbaOKRf^b)-fUp1y1rXc7i(xLKmI4DrYNEqTPu0bX6gA{m7zlCZFhu9({SxBz zaEzMJCZdvZvp8H+Na>e7qfHmvH3qM%FRy&jTvy-XfBDlg?OQ3V=@!Ck1YfZ%ZN9_6 z05V>PiGjg@3u3$igWW_ksM%aAHh|1tqt7^{`&j)0n**+sele6x@~MepdLgtXt^D!& zm;DKLee)VvH;b+Q^Hz`f_jT?j<#^uL-;B~%b_ze8B2zeDg@NJU_m>6d(>~?Dx%c$X zj=++F+l8luf-h_PZk0Az&iaS>y0qcX8*!briYM>0eLq&KcI@(=n?FMMly)!Mul4Toc64m#jLab!=o>`^ULc0gF@&3vt9R$G>^{FWW5}(FzsaUH-r0W z34ymx+5g<2{%%sy{0&#W+_^d>a_OvP3f`|ke)V^H-|Hc&@n-7#dn+t&-4if>ctPJf zgf%j~q$X^TOtdY|${jys>`jocPuiW%Vm3DN0UxlQ8FtX7;~-Avb+~=Gn=QGI|Ej;VaH`emtA}pc#7{P^es%Dd0RSjW1swnY literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000319,src_000086,op_havoc,rep_8 b/fuzz-afl/in/webp/id_000319,src_000086,op_havoc,rep_8 new file mode 100644 index 0000000000000000000000000000000000000000..d14a896dc3eb7a2a8b34aa8aa2d9f69e3c5966c9 GIT binary patch literal 627 zcmWIYbaOKRf^b)-fUp1y1rXc7i(xLKmIAW^gWW`fnVujK4Xzai2Al>A(FS?Hgg8AM zqb9V8G%(yO4%ZY?`en~(Go9@kgV)uUSH5Vjt8ekY{Aro?trXUD3*j|_uUM8g-(g?? znJvV`z+k`yHk$!tw!=(M)y0bxfo5+I;>=-Kqt7^{`&j)0n*$7!ele6x@~MepdLgtX zt^D!&m;DKLee)VvH;b+Q^Hz`f_jT?j<#^uL-;B~%b_ze8B2zeDg@NJU_m>6d(>~?D zx%c$Xj=++F+l8luf-h_PZk0AzzAHKGdob%C=IhdiKX1f!)+(O7&-VRTt=h56dv5*+ n;ZxeZY`^v+p5Wi_)_-{PC3k*V{eKUCkiSO(bwl9bF9QYujo7!o literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000320,src_000086,op_havoc,rep_4 b/fuzz-afl/in/webp/id_000320,src_000086,op_havoc,rep_4 new file mode 100644 index 0000000000000000000000000000000000000000..7541980541c030909f75fb152665a7c39313a79c GIT binary patch literal 641 zcmWIYbaOKRf^b)-fUp1y1rXc7i(xLKmI8wUgWW`fnVzbP4Gc86R%|ff%wd?5pJOj-G%8vlgrT?Jfi8*9(FpUk&T_GH0oY6Xlc~ai1gr0RH#s zaL;DhZ|vUX{J2qcaNBXp5>wMFO|=^^r@CWS_p1m~1^ffo8!`FVUWt7n$=?R|#(gHn z)4bXER1PA$roSuV3{(5=ukhmZZJ&03|42_wbpPhM-ZCl0oGAsrJAN7OX^QT?~O?i?)6^^{dP{h;}S|%Sn2g11uS%h6q9c0RR95u#H2|)kDOiUG{EcWcvbwo(r$0|Y#&%z|2XHD2+H@BjH}yJb4eE_e#vxuXx5V-@`W=j&(m b|ARRT$NGQLp_Mwz)xz35Uz0O?>cRRjPJTN( literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000323,src_000124,op_int16,pos_26,val_+4096 b/fuzz-afl/in/webp/id_000323,src_000124,op_int16,pos_26,val_+4096 new file mode 100644 index 0000000000000000000000000000000000000000..d93a7f3b99ac9efc5f4a43067daed680b2a7fc4c GIT binary patch literal 641 zcmV-{0)G8cNk&F6FfcGzMM6+kP&gnkFfcGM3ILq}DgY2506vj0nMp7(Ffb?%s4y@I zFaTRHZu$}lNI_bVh7=@Z*>hJZ5+eFP0X&xm)&NS?>D2Tou78A2)AFV(+GGW1I1{W9 z>I9{O+yDSpP&gnG0ssIo3ILq}Dj)zL06vjGnMoz1q9G^>sIU?VYyhk;0hEizf8ad8 zMUwgebdpSbS_0@2tY&xPuj!9qK8~J%1+x~b{Ov9S`_~JCBVP^c_A+Owi4*0N9C4o{ z0092?>2S|x@^9?k<@~r&ba2~o$`Vu4D^0ZR`;t2Qw973*BdeU*j|Z!A<5qc z_r`rD#?!pn_*4!eyQaS@;tW&!?yvCT^lhJZfB#5NO?3a}y52G=#hfVx(_iG4$y4?) z-)3M@+R8uquqW=4a-Xo&^xV~yS*4n$AWP~`Lhp@86)5bL@7}06+TIX1;m|KTR0UaQ zbbMN+l=*m6+KaY+IQ6T{IEZ#Ee9K9Cngc8uqlO4V009611h9=m(A7i4qh0oHhDbey zY+J-!$9$oSTYQblo>ra|v?w#vv454EUxlc4f2ooo8IcWcvbwo(r$0|Y#&%z|2XHD2+H@BjH}yJb4eE_e#vxuXx5V-@`W=j&(m b|ARRT$NGQLp_Mwz)xz35Uz0O?>cRRjU7I(N literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000324,src_000124,op_int32,pos_29,val_+1 b/fuzz-afl/in/webp/id_000324,src_000124,op_int32,pos_29,val_+1 new file mode 100644 index 0000000000000000000000000000000000000000..a9ddfb6efe41c1fbdbcc2a27a3d55d58225a3bd2 GIT binary patch literal 641 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmI8wUBLf4&Oi$Itixf5ZRu~8w=-Kqt7^{`&j)0n**+sele6x@~MepdLgtXt^D!& zm;DKLee)VvH;b+Q^Hz`f_jT?j<#^uL-;B~%b_ze8B2zeDg@NJU_m>6d(>~?Dx%c$X zj=++F+l8luf-h_PZk0AzzAHKG`)ZD0)<4YGr44`Hi0iCXJb9n(`>|TJW0&{b{1L*Z iw0qfp?MFPpzu&F@@aRkK{IdH09{#@I&=@6X83F*$U%CJQ literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000325,src_000124,op_havoc,rep_8 b/fuzz-afl/in/webp/id_000325,src_000124,op_havoc,rep_8 new file mode 100644 index 0000000000000000000000000000000000000000..fd6fded6e63886ef87a0e09312ea0762ef2223dc GIT binary patch literal 585 zcmV-P0=E59Nk&F6FfcGzMM6+kP&gnkFfcGM3ILq}DxCo;06vj0nMp7(Ffb?%s4y@I zFaTRHZu$}lNI_bVh7=@Z*>hJZ5+eFP0X&xm)&NS?>D2Tou78A2)AFV(+GGW1I1{W9 z>I9{O+yDSpP&gnG0ssIo3ILq}Dj)zL06vjGnMoz1q9G^>sIU?VYyhk;0hEizf8ad8 zMUwgebdpSbS_0@2tY&xPuj!9qK8~J%1+x~b{Ov9S`_~JCBVP^c_A+Owi4*0N9C4o{ z0092?8!)H3V^;U82vY_81J@fd`Pg2GeId!;2KUB&CdSje+4xirBDQ6%NjYt(J?3L@@ zs5#o+5I5n_FFRBPS!Z;7TBVfvcvRYpwthJEtIRlvb}W3$NqU+CEE%JQ2toh>000EA zjYH7YL&T$9_JcVK$NGQLp_Mwz)xz35Uz0O#hDbeyY+J-!$9$oSTYQblo>ra|v?w#v zv454EUxlc4f2ooo8I!75x9_>u2=; XISa@7f6}3qIxyA3+B`6O>cRRjT^bo6 literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000326,src_000124,op_havoc,rep_64 b/fuzz-afl/in/webp/id_000326,src_000124,op_havoc,rep_64 new file mode 100644 index 0000000000000000000000000000000000000000..46b6f40a9c5b8ade151c178f33ff1b87e536af2b GIT binary patch literal 677 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmI6Z%NRGi^qQOj0)y0bxHTYI+5HiRyh&IUk z6=x6x2l{YUP>|Qvmsh@MuIp>@zs$g>eJkZVx-}jdV=hHsrzq$AH&yK*7g4>0sgn}=4knyi=OpG-R$ z{LSEgT0-EhQ}#bMsK1+3G=IaDFL$m^iCj8snS%E#f2a4L(0eoW{k;{Ix9$m;KfIuC z9l{!!UQ!dabjr_)kXzl`>MXvlJ_Ga93ue~;|5>4aLJyCL^(!YSN=|u`Fz1VA_P>82 zH-1{b<@z_@Eb7?amTMdjuO9W9;XXn8zeu3|?3dBewb9YhnLvyTlApRxzn6DHr&agc zst%YSXbVEKNIX|nO<=4XFdO;vcJu;U+J;Q98GGcP|l^WuqDyzir< zzpnqg`@^$B;_O?yejA>&slYU$+4K7Go&)#0d$9t$)rQ~ii~m1*)7wO}Jo|FqydZuJ zW&@j*Ku~TP_p$r^|DTz=Q?1VERdC(ixtJdmax;=e|NnpfI{nN4W=rnlzv?eB2rw{Q Q1;$GJWaH{r2Y(p=0P?s$M*si- literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000327,src_000124,op_havoc,rep_8 b/fuzz-afl/in/webp/id_000327,src_000124,op_havoc,rep_8 new file mode 100644 index 0000000000000000000000000000000000000000..cc7465239c8a2344121eea54a77c830c46cff778 GIT binary patch literal 549 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmI8wUgWW`fnVtrV4Gc8+R%|ffG?0zX&HE+9 i>ERePq0K-gA0X5&{4>=XbLJ literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000330,src_000124,op_havoc,rep_128 b/fuzz-afl/in/webp/id_000330,src_000124,op_havoc,rep_128 new file mode 100644 index 0000000000000000000000000000000000000000..9e3eb66418a10db6c31739058eb413a9ca2a8771 GIT binary patch literal 574 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmI8wUgWW`fnVujK4Zaly2Al>A4cU3Wgbd0i ltem7M2@)q2{3lfd9`*nK|94>Eef`ZSeI*`Mqf#^s0RW#Tbou}Q literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000332,src_000124,op_havoc,rep_64 b/fuzz-afl/in/webp/id_000332,src_000124,op_havoc,rep_64 new file mode 100644 index 0000000000000000000000000000000000000000..353f018369fecfc6fac7eb3e76b9c926dbb04841 GIT binary patch literal 545 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmI8wUgWbgc|2_W$MHCtg3>Y|b45D-M3A(FS?Hgg8AM zqb9V8sHEI14%gH}20}`|>=|vQvt48Gy880U7tM9`E&i83Ez`c0!kTU&yhiX9%hKjM z3=ANPgqRo@pcXNJEOMCXsk(TPq6XKB4MLnb3~Tfmr*t2ye_(UK738!@zZgO$`P4)) zy%1WHR{nVX%l-trzC{hJo5fcDd27Y|`#N`%ay;+rZ${}WJB6Q4xm(z(!ocwF`^$p! zX`k}n+mTOp(uO~8#C6tkoV?HW{aCHq zvCDgI{s`ey+P!SQ_9LF)-|yCcc=RQAep&s04}ag1|Ic>aGtxXdN0aq({F7-XgTEQv zPfG~Ab;|zd2K9H7iso;)^5xFeDUnNOEmQD*9h1&l`0`+IVtbOV_{a)S)omSm%tJdDzw)6Ytzo%b_ z)NkCld_TuD+4yqvUsh8Uo+#}2#}|0M-E-#UCud$f@rw6-boAHte|LX)R!E$EYuEpH z&w;DmcB>7)-xvRXbep${XnFRl#BD+R8q6#vV_p1m~1^ffo8x$mD*>hJZ5+eFP0X&xm)&NS?>D2Tou78A2 z)AFV(+GGW1I1{W9>I9{O+yDSpP&gnG0t)~z3ILq}Dj)zL06vjGnMoz1q9G^>sIU?V zYyhk;0hEizf8ad8MUwgebdpSbS_0@2tY#DCmK=tkB>n3C_vvuYX7X?B-sSw5QFL(I zamo@?(<@E2{4l4wV^;U82vY_81J@fd`Pg2GeId!;2KUB&CdSje+4xirBDr+8v?w#vv454EUxlc4f2ooo8Isy!>F literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000335,src_000125,op_havoc,rep_8 b/fuzz-afl/in/webp/id_000335,src_000125,op_havoc,rep_8 new file mode 100644 index 0000000000000000000000000000000000000000..bb3926d5628670917d1a80e1853800db0ff1b988 GIT binary patch literal 651 zcmV;60(AXSNk&F6FfcGzMM6+kP&gnkFfcGM3ILq}Dj*gh06vj0nMp7(Ffb?!s4y@I zFaTR^Zu$}lNI_bVh7=@Z*>hJZ5+eFP0X&xm)&NS?>D2Tou78A2(@91~@}?`=WCdq9 z6RZ*H1f_%A0034{I3N-N001xw0G$CUAOIi$K9N9~NhPDAAt(x{uo4Mu0IV+ol#9lH z;5@)Ze*ge5pJOj-G%8vlgrT?JfiR*9(FpUkyO^GH0oYQb|Te z6Xlc~ai1gr0RH#saL;D)Z|vUX{J2qcaNBXp5>wMFO|=^^r@CWS_p1m~1^ffo8!`FV zUWt7n$=?R|#(gHn)4bXER1PA$roSuV3{(5=ukhmZZJ&03|42_wbpPhM-ZCl0oGAs< zU*wj_Q}!_5W?)g;%0KzAC+?DRpRm;Q+|`s>rJAN7OX^QT?~O?i?)6^^{dP{h;}S|%Sn2g11uS%h6q9c0RR95u#H2|)kDOi zUG{E?y@b{X;nl@Tm`8Cd{}fR#o9TV!MVH=g$Sj2|_NuMkwz>Dy{mbYSf3dNr zzX+BcUw1dn`Z|>$u2=;gEu zcwK#Y<%{OJ`WFAopO$IgN?}d65MCqrie+i@9R>!FDMCyP3@}p^80;oG%=A=Uyhu@l zYsCg3&K!m{`ixV$kJdl1Ip8|!7emP;pPDG97eZ^&${(+P8IfSuH?M(pv)JlCZ}pge zU*~R8j^};-%_x0kr|?q;2Zkv!h4WPy82){KS#Un>Q~sNKPuX?`mK5ABJS7x-S=)E3 zw88RS$zk7Da|E;gVZJVH`13|wXRYGN`)uEj)v6u4yyxbR5I&{d%l2zO;tBr!ZvBTx zUvlS{)&B?i-^1Ux_lz`;&e3GO9RFn6$>47W_tO#rZ=JILxk3Hiq@wv71isw4 zIwf-H`(6)GjW<)@-&z;u5!wdS>A*_+?O6Eid15X13$7Mip-(VRKwj0be2s04b zqG51(W7LE;5tWpi#o?MlO26zm6}Xrf92^*cdNtoLC@{3oaF}U%z;)6uhMGw}HBn4U zA>f73nzZuA>tFUK*!4|oV4W$n;m_Lu3q=OTu6yQZe_0)C{A06A9jK{fl21hx6GF9X z-#n1&)qmdVG5@~K-K1Q``}&(uFwmh4K(H%0?E7jCpa*~sF#LHVuCrG0>qUx9`02<<8Y9kxOSSQ}BM}?*ueQlvq;*b8i{_n{T&kBjNZ|(YR zc+%ovKp+9^$2sw>px}lASI?Q3!{&)_{VQZ>5DAo;{j#>+b^5(L2BucsZ>!ec+qU!j z<-ezY2*H%Y=pFaLtagy@HNe<1MztGirOnDSO+Mvc{x@54AOBThJZ5+eFP0Zx|&)&NS&>D2Tou0TKl)AFV(+GGW1I1{W9 z>I9{O+yDSpP&gnG0ssIo3IG8B0000W06vjGnMoz1q9G^>sIU?VYyhk;0hEizf8ad8 zMUwgebdpSbS_0@2tR{Ekuj!9qK8~J%1+x~b{Ov9S`_~JCBVP^c_A+Owi4*0N9C4o{ z0092?>2S|x@^9?kfcyXe0D#+Z$`Vu4D^0ZQ6%N zjYt(J>ra|v?w#@v454EUxlc4f2oKe8IDy{mbYSf3dNr zzX+BcUw1dn`dyVEu2=;gE*`zlFMnF5 zeJh1E-9mVc;47A;&370WK-LK{F))Cwb6{X#Vwlo>tp0(`fgqrpTqpfv$e!d=6UFpG zXiZxA{zlXnX$^U1&?ipzwoukQmIsVDClfmB%?x!UL z-a2LfbA$T3Nk#KFJi-dDe7SRVO61a6%M`p{`8&Pu^$^u~Gxhzw6_&T|8Si;`LEk#W zATqtACTeM*{_K~vPhF?{tO&W)y{*pT>*_NW9c4N-n?0*$G3!V!ZsTxbU}Rum+0g5J z;i~hI#j)S=+B|GqbE1#L9Ixr`j;`rFIWKJ9!z~)dmp9f=ofF^6(7<3f5g13R@Hnai z#!=ocAx>aegW{;He&r-Z$tiC@ahWjZi)Qw}e<3%1TEFG`H{UGk*xr_F91pJ^^_t;c zsQq6A>bmLo@=oZq>V8|b_TILg-!K0?{X(RE|48j8=kbOJ+B|{IdHYxZnfd}`{MtPZu2$~ zEziE3w=IZYgPFx<<(a0aa?`kv-S7YZ{QvxQ`j`LBmfXjG)n8gT)#~)sL$~zeCmUD4 II{3=~0Ou@OIRF3v literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000342,src_000125,op_havoc,rep_64 b/fuzz-afl/in/webp/id_000342,src_000125,op_havoc,rep_64 new file mode 100644 index 0000000000000000000000000000000000000000..a4554b0a4b7fe110f1cac8806fc727b3b9f6f153 GIT binary patch literal 591 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmI4EVfZarcnVujK4ek{N2Al>A(FS?Hgg8AM zqb7XOTvy-XfB6#w149FAy2bzhg0EPXHs4`j2(z+K5Mp9r0GiUssKvmb@Q5e)_q+8! z7B5oN;99Xkh%+ZVg~4G;_p$m1HV0fM{rp)n$)~22>4ngmwDQOMU-l>1_04Nw-7L2H z4k>=b_bYe!&7!R^9RLcy1{eYZ;gOkqe4`@WhZnDr0y4ZF@- z#gq5hz8?eI!4RDbacT5~FSTmN-t4*gBZNyY9(r z9-X7fdimBV`=1-s-%To-ui*X4-vk&U?|VH&HQr2pe{Y55trP+ChZpp#|FcG>m()Zp zo$|9Hvq;#*gg)vrt!{ugrNr}ZPQfAh_vj_qx^#_{m^ zQLh>9h1&l`0`+IVJpI&l`n~iMI<30jUa!5kZRhvPe^0*Q@JU82|vH-4&t$ literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000343,src_000127,op_havoc,rep_64 b/fuzz-afl/in/webp/id_000343,src_000127,op_havoc,rep_64 new file mode 100644 index 0000000000000000000000000000000000000000..89f38b2d99457bc44c41c1123397f5537e3db0fc GIT binary patch literal 584 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmI8wU1A~FVOi$Iti>x)czHBhy%wdQ&$os|c y|Ab@Igf_5BQi=bhY8X{Ns6ycV|DTz=Q?1VERdC(ixtM>3f#{$A&tIp1F#rJL$$muu literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000344,src_000127,op_havoc,rep_32 b/fuzz-afl/in/webp/id_000344,src_000127,op_havoc,rep_32 new file mode 100644 index 0000000000000000000000000000000000000000..a01e81d660147b9d39b45403f2cc7d6202984fc7 GIT binary patch literal 641 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLK783(EgWW`fnVujK4Xzgk2Aok0(YblQgg8A6 eq9(A3sHEI14hKn+02G9n7{W+UKdN-NhX4Qwt$ZB- literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000345,src_000127,op_havoc,rep_16 b/fuzz-afl/in/webp/id_000345,src_000127,op_havoc,rep_16 new file mode 100644 index 0000000000000000000000000000000000000000..be3753636cb0eb10489a9868ab577663118450f7 GIT binary patch literal 565 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmI8wUgWW`fnVujK4Xzgk2Al>A(FS?Hgftf$ zwD@2Cv`qU}3P_F=utuM8O82q)2Q~*>C;eh5ndDOw#q>gGOb45407{+32}Nj z8cb*tQAxR39Ih#(^vj;nW;)w72Cu6xuYA#5SKs1)`O`A(TPdvR7Q$-;U$HE0zQe!( zGFym=fdOK+0@!SanVzbP7bybG-XO%8!>~r5aZ2~G`Uf@#TqpfvD4FC_6UFpGXiZxA tWw4000{5nb-gT literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000347,src_000152,op_flip1,pos_46 b/fuzz-afl/in/webp/id_000347,src_000152,op_flip1,pos_46 new file mode 100644 index 0000000000000000000000000000000000000000..5bd4eb1e5791a91fba64c60c4609b9c1f086fa5a GIT binary patch literal 641 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLK)&m9w2D^y{Gd&F!FEY^JTCu@^GlwHOH}97L zr-x(Igf;_}l$*ujnnFsy>=|vQvt48Gy880U7tM9`E&i83Ez`c0!kTU&yhiX9%hKjM z3=AN%g_sx^AZ9Co&32gSsk(TPBFJnZ&K!m{`ixV$kJUf0Ip8|!7emP;pPDG97eZ^& z${(+P*`Hw7H?M(pv)JlCZ}pgeU*~R8j^};-%_x0kr|{D$GKKS17#RM2e_3!o?Nk1n zdr$xD2rMbMU3f|;__DU|R%wIfyOP7cujUA5{lk1++VJO%xXxO|llR%aAFEY6c6rau zA0d27yO-_Pe#8^}``!8vkG|y2FRTCW;qP1W|Jkm4Mw&vf1k4{^FbH7 z3=p#wz-Bwl^i*BEND*lE1|iNIhBf+(Q@W4UKd?FAI_Vcf$t0heD5e)eYtqUeuYcK} zVAnUVfpxRk>OXJwn15gAZc>itef`ZSePyTc(w$K(x11x literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000350,src_000152,op_arith8,pos_27,val_+13 b/fuzz-afl/in/webp/id_000350,src_000152,op_arith8,pos_27,val_+13 new file mode 100644 index 0000000000000000000000000000000000000000..f3723b184ee3c9378a24dc563bfd5311b67061d2 GIT binary patch literal 641 zcmV-{0)G8cNk&F6FfcGzMM6+kP&gnkFfcGM3ILq}D&P$u06vj0nMp7(qA(~5sIV{z zYyewrZu$}lNI_bVh7=@Z*>hJZ5+eFP0X&xm)&NS?>D2Tou78A2)AFV(+GGW1I1{W9 z>I9{O+yDSpP&gnG0ssIo3ILq}Dj)zL06vjGnMoz1q9G^>sIU?VYyhk;0hEizf8ad8 zMUwgebdpSbS_0@2tY&xPuj!9qK8~J%1+x~b{Ov9S`_~JCBVP^c_A+Owi4*0N9C4o{ z0092?>2S|x@^9?k<@~r&ba2~o$`Vu4D^0ZR`;t2Qw973*BdeU*j|Z!A<5qc z_r`rD#?!pn_*4!eyQaS@;tW&!?yvCT^lhJZfB#5NO?3a}y52G=#hfVx(_iG4$y4?) z-)3M@+R8uquqW=4a-Xo&^xV~yS*4n$AWP~`Lhp@86)5bL@7}06+TIX1;m|KTR0UaQ zbbMN+l=*m6+KaY+IQ6T{IEZ#Ee9K9Cngc8uqlO4V009611h9=m(A7i4qh0oHhDbey zY+J-!$9$oSTYQblo>ra|v?w#vv454EUxlc4f2ooo8IcWcvbwo(r$0|Y#&%z|2XHD2+H@BjH}yJb4eE_e#vxuXx5V-@`W=j&(m b|ARRT$NGQLp_Mwz)xz35Uz0O?>cRRj3(-1z literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000351,src_000152,op_arith8,pos_46,val_-11 b/fuzz-afl/in/webp/id_000351,src_000152,op_arith8,pos_46,val_-11 new file mode 100644 index 0000000000000000000000000000000000000000..608f346ae091658d17f052316581799c46242c2d GIT binary patch literal 641 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLK)&m9w2D^z4Gd)!oFEY^JTCu@^Gv{k`Zr(2; zP7gGWb@kTl_D7TBdy~g*Dwmc#YsImZi;i z7#Kii3o$V;K+IM^GFuU3wh(6y!y0|YDc#5FAJ`mlo%D;LWRg!!6w?c#HEHFK*T3vf zu(y|GvL0IG^?@|INLpe|7|x z6x=R6B@}#F+jpz9!SY?nVc%DC1hf8OzAkO}^F~}}t>Vf1Y~PR7svWz$=jM+PKBe8u z_G>@l3I6?V{f9?ia_5)T|M&3sE&2a!*F7W6qjNM_FULQbb~5;z!Tq#^z+0#6e{N8J ZH>qg;hAUt0T%8iRbQU<=MhVhG008h|&XWKD literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000352,src_000152,op_arith8,pos_74,val_-32 b/fuzz-afl/in/webp/id_000352,src_000152,op_arith8,pos_74,val_-32 new file mode 100644 index 0000000000000000000000000000000000000000..d7b9f3a3ee1cfd679aebbec91cf72550f1fc733e GIT binary patch literal 641 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLK)&m9w2D^y{Gd)2f8eA(33^)xKq7CwX32}Nj zMonlFQAxR39Ih#(^vj;nW;)xo2VPfSUiqTAuD-?p@~36mw^CTsErizyzG7M0e20Mn zWVR3!0|Uft1+du;Gd)!oFH!`Wy+MdGhhdFAg@5 z(?2@`OA2lmo)QYatnIs1+F<#vVxBkPUFS+x}>i>KA` Kkc4~zQe!( zGFym=fdOK+0@!SanVzbP7bybG-XO%8!>~r5aZ2~G`Uf@#TqpfvD4FC_6UFpGXiZxA z7N~eB?Y$&PYDHI*7n^hZLoY-a@hCP9Ko!An6FD4{=5;_S*v*RKHK+WwQ9#M@45LS zgimSrvi;hRc!GbwTmRwFm)!Yf_5VHmeM|m7+jY-K^XME+*30ovrkxD_W^g|(A@J5I k`=1-s-%To-zv0T4J6ESfE}gYZ!TXiJ6DX)g0ZAbM0D9%kTmS$7 literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000354,src_000152,op_arith8,pos_205,val_-5 b/fuzz-afl/in/webp/id_000354,src_000152,op_arith8,pos_205,val_-5 new file mode 100644 index 0000000000000000000000000000000000000000..3923b65577fb107f2fe5b2eb4ceaddd888fc193d GIT binary patch literal 641 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLK)&m9w2D^y{Gd)2f8eA(j7;xq=MCa!H65{l5 zjGE9UqLOm6I9yXm>6bmD&2+YF3|?1XUiqTAuD-?p@~36mw^CTsErizyzG7M0e20Mn zWVR3!0|Uft1+du;Gd)!oFH!`VEd(@sjXvX)?ql^2Y!0|i`o&N($)_fY>4ngmwDQO6 zU-l>1_04Nw-7L2H&s#m_-`BaDl;e3{e=|y7*(v;VicH~r6$XZX-=7qmPy3Yr=HAmk zI|54zZWo>s3cjrEyH(m?`L5)!@2fe2S^qF!mp1%)Bd)Vn@#KBB@5gG@j$Ph!^G67u z((YyZwIA^W|9-dr!=o>`^ULc0d-(g7{C~FVo{{F!Ihw4OuJ&65{l5 zjGE9UqLOm6I9yXm>6bmD&2+YF3|?1XUiqTAuD-?p@~36mw^CTsErizyzG7M0e20Mn zWVR3!0|Uft1+du;Gd)!oFH!`Wy+H_Q_8NW0Dc#5FAJ`mlo%D;LWRg!!6w?c#HEHFK z*T3vfu(y|GvL0IG^?@|INLp ze|7|x6x=R6B@}#F+jpz9!SY?nVc%DC1hf8OzAkO}^F~}}t>Vf1Y~PR7svWz$=jM+P oKBe8u_G>@l3I6?V{f9?ia_5)T|M&3sE&2cK9?1KnfMy{80EMc()&Kwi literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000356,src_000152,op_ext_AO,pos_50 b/fuzz-afl/in/webp/id_000356,src_000152,op_ext_AO,pos_50 new file mode 100644 index 0000000000000000000000000000000000000000..d7d514f30f61ee26ffab9354c2eacc2b32da89e8 GIT binary patch literal 641 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLK)&m9w2D^y{Gd)2f8eA(33^)xKq7CvG-fiwQqLOm6I9yXm>6bmD&2+YF3|?1XUiqTAuD-?p@~36mw^CTsErizyzG7M0e20Mn zWVR3!0|Uft1+du;Gd)!oFH!`Wy+MdGhhdFAFpdzgg)0FS46x&QzG literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000363,src_000154,op_havoc,rep_32 b/fuzz-afl/in/webp/id_000363,src_000154,op_havoc,rep_32 new file mode 100644 index 0000000000000000000000000000000000000000..11c0cbfa00f631c2471971eb6fedad0b07b2254f GIT binary patch literal 590 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmH>l-qTNJ;nLq`ess@V`H5lG)6XMKah|bOX zCB*6B7&ReXL?z{BF$05;(l2{P8_ze_zI$GMdF6|yTz!lG6xNTL`Zae8sY~ z`3?gE(0HIJTq`z!Oj)DPIHmho{R5i=u9JQ-luYueiDG&ov?i_m@%oqj33h$+8dx{i zum1B^kNNj??k44U-q+uZ(pSDLIG^?@{|!&@?|17RKrYkx@aPN3>ACZB>;HTB`~vj_sZ?Ca_?79C|eHK#rMW-;qXE^gy+Vqj!oU|Agd zEw9bve``+kk(lE(3%jFhdQZ*^nuRH%XcM*eP7KH z%=(A0eLq&KcI@(=n?FMMly)!Mul_lz`;&e3GO9RFn6$>47W_tO#rZ=JILxk3Hiq@vjyu6((3bxP#YS<4i>U->(| z@AVMXcr*3=y%mMT;dQVX1Et>{}&0=pAC#G*Xj52PUy7iep|Kn-nO0JFaJILLZp7<#^w7trpd;a zo1gt!j6A@f#=&jXI_4C=EW1Qc;81ye_j7~_lIYN#M!rY{Wd&lQ+r-N-gDq; zx7}*P@At+3AKm6{B3hn(Id2;SlLj-3&B`-PQRSv_AG_cG|CzZv)#{911=ro3i}`0H mi~jll{B`=5|IL=%$A8sdS~%6}^wmSRY~m*ypLuogmjM8>zAG94 literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000365,src_000154,op_havoc,rep_32 b/fuzz-afl/in/webp/id_000365,src_000154,op_havoc,rep_32 new file mode 100644 index 0000000000000000000000000000000000000000..87c093ad3f8dd530b29b8c856c05b74d69ea8626 GIT binary patch literal 580 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmH>kq1E+ywltG(;O3KaRa7_cHUv~ctrW;)2 a^l$_#BZFXon61D7v4{*4MzsvO5C8x^(QwlM literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000367,src_000175,op_havoc,rep_32 b/fuzz-afl/in/webp/id_000367,src_000175,op_havoc,rep_32 new file mode 100644 index 0000000000000000000000000000000000000000..89fd56dc5082a11732b9e19884f73a7924f4bbbc GIT binary patch literal 662 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmI8wUP{4q}Zlc3XPu0Z+iW*!iHVAR%e2C7? z`z6Hb;TSccO++Q-W^uTtkkT)EMw{tu*BHF6zPz$Ub6tIl|Its&>KRg4(=CM82)<)k z+I)wB0c5@q69a>RFw}gQ*^3nS-24&3r?h+7e(gs*!N1?F|M2Kb?)wPTm@y6@Spdq$c^=V-ECj(;-kWN_rtS<4i> zU->(|@AVMXcq91!-U`cGFPP0AGB7eQutuhr)I=?v^0Ol3R`<3#i?6HCSag)>)SULL zn#Ih(z>qQ-JK%5v>1Nqb;(Xz%^ATXAEsp(`*XCi@niG8_=6KD*?&zA{le5C+iEPm@ zzPz!1>YVu26=n4+Cn-u!d6O{bi)Qw}e<3%1TEFG`H{UGk*xr_F91pJ^^_t;c2#OT_ z*)MCKx=z2BcS5ICS2&?u{Om8QsR~aNcKqWDJm2m)^YW83FP?bC`#w7Q>-xX5KRnAM z&c3zlx8X^f+VlGHoA?N%Fpzc2p(=r(T?(emuedE0{cHJDj!R-S2!DmRV$*!}+h t&&=JaR%i4oxbE&;%s(Sp^w0n2uhYLE;>qgt)#bNr;wKwdzdHEK006piJb?fJ literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000368,src_000189,op_flip2,pos_26 b/fuzz-afl/in/webp/id_000368,src_000189,op_flip2,pos_26 new file mode 100644 index 0000000000000000000000000000000000000000..f886a386b9466b923b9b8c2595ea5958ceb943d3 GIT binary patch literal 641 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmNEkqgWW`jnVzbP7a3@9t=M3|nZppBoA*nI f)59@pLYs(6%FW_%uzKPN2C&)0s~=T4+(Q5Wvxt5m literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000369,src_000189,op_arith8,pos_26,val_-25 b/fuzz-afl/in/webp/id_000369,src_000189,op_arith8,pos_26,val_-25 new file mode 100644 index 0000000000000000000000000000000000000000..1f0e650d6ef489d83e2317020e4f7a7bdf257ba8 GIT binary patch literal 641 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLK7CQqIgWW`fnVujK4K5(TX}}O|koQZ7(*qe%UkHOlJe>LkD#@z^7%}w^CTs zErfy2VOiRIhk*g)7$GJGhEqbpm$iMjN*gTSl^phcHAgV(A7-u<8-x^c(9Is@55*7w E0Q&uw(EtDd literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000374,src_000216,op_int32,pos_28,val_+32 b/fuzz-afl/in/webp/id_000374,src_000216,op_int32,pos_28,val_+32 new file mode 100644 index 0000000000000000000000000000000000000000..abc67ad8c4b7812c65183e2b97828ce40d3b09c5 GIT binary patch literal 641 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmIH$V1A~FVOi$Itixf4uR%{UBG+>C%&HE+9 z>ERePp-n_3SUvFs1H^0vpxJg49gxk=VOXQjIHmho{R5i=u9JQ-luYueiDG&o lv?i_m@%oqj33h$+8dx`rt^V^?kNLL&H}O`EsvOiI002Vdj9~x( literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000375,src_000219,op_flip1,pos_28 b/fuzz-afl/in/webp/id_000375,src_000219,op_flip1,pos_28 new file mode 100644 index 0000000000000000000000000000000000000000..4c9a179e3e2e49b5373cd28b1ddf091974e86a5e GIT binary patch literal 641 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLK76XHmf!#!dnVtrV7XgJhJZ5+eFP0X&xm)&NS?>D2Tou78A2)AFV(+GGW1I1{W9 z>I9{O+yDSpP&gnG0ssIo3ILq}Dj)zL06vjGnMoz1q9G^>sIU?VYyhk;0hEizf8ad8 zMUwgebdpSbS_0@2tY&xPuj!9qK8~J%1+x~b{Ov9S`_~JCBVP^c_A+Owi4*0N9C4o{ z0092?>2S|x@^9?k<@~r&ba2~o$`Vu4D^0ZR`;t2Qw973*BdeU*j|Z!A<5qc z_r`rD#?!pn_*4!eyQaS@;tW&!?yvCT^lhJZfB#5NO?3a}y52G=#hfVx(_iG4$y4?) z-)3M@+R8uquqW=4a-Xo&^xV~yS*4n$AWP~`Lhp@86)5bL@7}06+TIX1;m|KTR0UaQ zbbMN+l=*m6+KaY+IQ6T{IEZ#Ee9K9Cngc8uqlO4V009611h9=m(A7i4qh0oHhDbey zY+J-!$9$oSTYQblo>ra|v?w#vv454EUxlc4f2ooo8IcWcvbwo(r$0|Y#&%z|2XHD2+H@BjH}yJb4eE_e#vxuXx5V-@`W=j&(m b|ARRT$NGQLp_Mwz)xz35Uz0O?>cRRju6j9t literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000378,src_000219,op_arith16,pos_28,val_-18 b/fuzz-afl/in/webp/id_000378,src_000219,op_arith16,pos_28,val_-18 new file mode 100644 index 0000000000000000000000000000000000000000..b57e62eec2cb372ea734fe2ff03472d4cd9c4bac GIT binary patch literal 641 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLK76ZeF|8^4%W_lVdUIY|cvB7{dhruA%;1?%Y M%_uP%0@Mfr00B{b!T1(LkRpILT()#P6YsUZ*Ft| literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000381,src_000272,op_havoc,rep_16 b/fuzz-afl/in/webp/id_000381,src_000272,op_havoc,rep_16 new file mode 100644 index 0000000000000000000000000000000000000000..3f60be0d1bb003f27de41cf5d89f12372f0c2dbd GIT binary patch literal 601 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmI4D0gWW`fnVujK4S^LK3=BjJrn6mR@G^L5 i@I`aoD}$xY1_lga^)3FFKY`Q`1O5}EXjIKG2mt^gdU@sm literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000382,src_000272,op_havoc,rep_8 b/fuzz-afl/in/webp/id_000382,src_000272,op_havoc,rep_8 new file mode 100644 index 0000000000000000000000000000000000000000..485060d60d0c780739148d94dae271604c7008dc GIT binary patch literal 545 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmI4Ehg55-enVujK4S^LK3=BjJrn6mR@N#fq zxcc(S7tM9`E&i83Ez`c0!kTU&yhiX9%hKk33=AM+gqRo@fW~ZN^i*I_V6dC$Fw^t@ ze+C8(t`&L$oH-0@^ckmgTPRHW1y{>ZGRdbVis|{s|NsBjuYcK}VAnUVfpxRk>OXJw zn15gAZc>itef`ZSePyTc(7xH=_r>8xc6A+P*@F);iR)nJ(V{@x19oA)Fn887IAg9H*dpx_um005#1t3Ch# literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000383,src_000272,op_havoc,rep_64 b/fuzz-afl/in/webp/id_000383,src_000272,op_havoc,rep_64 new file mode 100644 index 0000000000000000000000000000000000000000..d3b95896f13e0ad1ccc7fb45caf42f17bcfdd76e GIT binary patch literal 517 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmI4D0gWbe1Zxe&>S6^QF@|BszX5N{msB+V| zk3hu+Kq1X_^)3FF!8(W~{u8TkR2?xP@c;h@U`)NW>$l-ao7(f5L4bi_#flZg=tNNi E06>Rx_y7O^ literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000384,src_000272,op_havoc,rep_8 b/fuzz-afl/in/webp/id_000384,src_000272,op_havoc,rep_8 new file mode 100644 index 0000000000000000000000000000000000000000..8bb3d65bf23b6e20731d88802c9af5d128e6a88a GIT binary patch literal 572 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmVzh`gWW`fnVujK4S^LK3=BjJrn6mR@Vffa z;EU$E`WFAopO$IgN?}d65MCqrie+i@J_ZJm8A4193}7=n6&MtNW;o3B{4d1Fpux35 zPk=LrVU0fHlx_=!Nxv9MCi&DvF}+}D`2YX$`j`C)c75|2ST~EU{_|Fk`S*41CXsmF z*WZlNS9S_Nol;V8yYQe;u=anEK>gV-YoEGKzn6D{^$+uPX~Unt<2q{s@?|17zJo=J9zpVbhhre&h|7W{6jWmzW(PX_G&%|)yYJKF= zS<4hcUitrGVE84f!7%mxy%m->?@359UeE`6p@9*}3;!9AyM Xwjh2DW)_>3XPTnQO@SsbJb3~D7Owt$ literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000385,src_000272,op_havoc,rep_16 b/fuzz-afl/in/webp/id_000385,src_000272,op_havoc,rep_16 new file mode 100644 index 0000000000000000000000000000000000000000..b7adadd768566f94c9917145b329d61bce47e55b GIT binary patch literal 524 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmI8wwgWW`fnVujK8-W!Y3=BjJrn6mR@G^L5 j@I`Z7eG3c2r)Ao=QdrY1gx7!+5dr=ap=MOc0EGYmhhJ*g literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000386,src_000272,op_havoc,rep_16 b/fuzz-afl/in/webp/id_000386,src_000272,op_havoc,rep_16 new file mode 100644 index 0000000000000000000000000000000000000000..bede44713056a2f3d1e6e78b05c0356008c99b45 GIT binary patch literal 545 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmi#>)20Med2F$+=44RbVfx?_3HU@0h47{$s zyz)hJU44uHWd@KIAtr`j`XDWy3JeMib`u?Ddj9{=vD-pn($DWDlYDBT>R&K4{0Eyqzy#Q# zUR*1VERKDgXMA~M{nR<}tt-mvS5D%Tobo1Njwc9w=Ja7$qt9q;@pbhXi;ha28V3i4 zS^pc@zaL{zICgOlv!UeTHUTGb1_1_^4ZRGE3=FtT`=Xis4;WSo4sW>x7nnsI+uL#t zXw*>$oWOsEd!aVtpFsVIFKeH=0^{ez+I!n}e!u+p^b3*tjT@KmpNjzDuCl;DmpJ>@ zuHS|yZEE)G$9oQ3?Y3KO`18K_|D)TyO$3i=Ur1s7{_@Hf&2{xH{+B;3)4r9$nr;!X IJ@3gA0Pcsd4*&oF literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000388,src_000272,op_havoc,rep_8 b/fuzz-afl/in/webp/id_000388,src_000272,op_havoc,rep_8 new file mode 100644 index 0000000000000000000000000000000000000000..2e0f304f2413e344903448fc3e29eba01ff8f2a0 GIT binary patch literal 545 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmI4D0gWW`fnVujK4TBXM3=BjJrn6mRFfd?X W_^-LHz6B&fBKS|D`cdTr9RdIb@oQoL literal 0 HcmV?d00001 diff --git a/fuzz-afl/in/webp/id_000389,src_000272,op_havoc,rep_32 b/fuzz-afl/in/webp/id_000389,src_000272,op_havoc,rep_32 new file mode 100644 index 0000000000000000000000000000000000000000..8540e497538b6e01fe17e29f583b4c9a7f4c081a GIT binary patch literal 541 zcmWIYbaOKRf^b)-fUp1y1rXbSi(xLKmI4D0gWW`fnVujK4S^LKG&w~Krn6l$czNZE f!Mgeu|I442X&a=lrdxm%5DEShscux+UA3nZuSxhNQpF%h7=^E+;b}u3laUF0NSO4J%EX-!>;T7Y1jBG{M&SCRUL|US>a7^ zN7w_@1Rl$cy_~z1X0*5Bg50${OAzbN^p1OtB#!>b9;|`$R+r- zMld-}uzo}Q5WQFbKUMsfY;vf~XLL8S{)bED{LN4xR4 Date: Sat, 4 May 2019 00:15:40 +0200 Subject: [PATCH 35/39] Fix intermediate transformation math types Some of the operations can overflow in i32, according to debug mode builds. This is not intentional as the math is applied to conceptual fixed point numbers. --- src/webp/transform.rs | 49 ++++++++++++++++++++++++------------------- 1 file changed, 27 insertions(+), 22 deletions(-) diff --git a/src/webp/transform.rs b/src/webp/transform.rs index 664305eb9f..796405c0c9 100644 --- a/src/webp/transform.rs +++ b/src/webp/transform.rs @@ -1,41 +1,46 @@ -static CONST1: i32 = 20091; -static CONST2: i32 = 35468; +static CONST1: i64 = 20091; +static CONST2: i64 = 35468; pub fn idct4x4(block: &mut [i32]) { + // The intermediate results may overflow the types, so we stretch the type. + fn fetch(block: &mut [i32], idx: usize) -> i64 { + i64::from(block[idx]) + } + for i in 0usize..4 { - let a1 = block[i] + block[8 + i]; - let b1 = block[i] - block[8 + i]; + let a1 = fetch(block, i) + fetch(block, 8 + i); + let b1 = fetch(block, i) - fetch(block, 8 + i); - let t1 = (block[4 + i] * CONST2) >> 16; - let t2 = block[12 + i] + ((block[12 + i] * CONST1) >> 16); + let t1 = (fetch(block, 4 + i) * CONST2) >> 16; + let t2 = fetch(block, 12 + i) + ((fetch(block, 12 + i) * CONST1) >> 16); let c1 = t1 - t2; - let t1 = block[4 + i] + ((block[4 + i] * CONST1) >> 16); - let t2 = (block[12 + i] * CONST2) >> 16; + let t1 = fetch(block, 4 + i) + ((fetch(block, 4 + i) * CONST1) >> 16); + let t2 = (fetch(block, 12 + i) * CONST2) >> 16; let d1 = t1 + t2; - block[i] = a1 + d1; - block[4 + i] = b1 + c1; - block[4 * 3 + i] = a1 - d1; - block[4 * 2 + i] = b1 - c1; + block[i] = (a1 + d1) as i32; + block[4 + i] = (b1 + c1) as i32; + block[4 * 3 + i] = (a1 - d1) as i32; + block[4 * 2 + i] = (b1 - c1) as i32; } for i in 0usize..4 { - let a1 = block[4 * i] + block[4 * i + 2]; - let b1 = block[4 * i] - block[4 * i + 2]; + let a1 = fetch(block, 4 * i) + fetch(block, 4 * i + 2); + let b1 = fetch(block, 4 * i) - fetch(block, 4 * i + 2); - let t1 = (block[4 * i + 1] * CONST2) >> 16; - let t2 = block[4 * i + 3] + ((block[4 * i + 3] * CONST1) >> 16); + let t1 = (fetch(block, 4 * i + 1) * CONST2) >> 16; + let t2 = fetch(block, 4 * i + 3) + ((fetch(block, 4 * i + 3) * CONST1) >> 16); let c1 = t1 - t2; - let t1 = block[4 * i + 1] + ((block[4 * i + 1] * CONST1) >> 16); - let t2 = (block[4 * i + 3] * CONST2) >> 16; + let t1 = fetch(block, 4 * i + 1) + ((fetch(block, 4 * i + 1) * CONST1) >> 16); + let t2 = (fetch(block, 4 * i + 3) * CONST2) >> 16; let d1 = t1 + t2; - block[4 * i] = (a1 + d1 + 4) >> 3; - block[4 * i + 3] = (a1 - d1 + 4) >> 3; - block[4 * i + 1] = (b1 + c1 + 4) >> 3; - block[4 * i + 2] = (b1 - c1 + 4) >> 3; + block[4 * i] = ((a1 + d1 + 4) >> 3) as i32; + block[4 * i + 3] = ((a1 - d1 + 4) >> 3) as i32; + block[4 * i + 1] = ((b1 + c1 + 4) >> 3) as i32; + block[4 * i + 2] = ((b1 - c1 + 4) >> 3) as i32; } } From da79c3828a35babc96c81ce7b95424e90eeb0f0b Mon Sep 17 00:00:00 2001 From: Andreas Molzer Date: Wed, 5 Jun 2019 20:53:11 +0200 Subject: [PATCH 36/39] Changelog for 0.21.2 --- CHANGES.md | 10 ++++++++++ Cargo.toml | 4 ++-- README.md | 2 +- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 840de4668c..c8200de2ed 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -8,6 +8,16 @@ Rust image aims to be a pure-Rust implementation of various popular image format ## Changes +### Version 0.21.2 + +- Fixed a variety of crashes and opaque errors in webp +- Updated the png limits to be less restrictive +- Reworked even more `unsafe` operations into safe alternatives +- Derived Debug on FilterType and Deref on Pixel +- Removed a restriction on DXT to always require power of two dimensions +- Change the encoding of RGBA in bmp using bitfields +- Corrected various urls + ### Version 0.21.1 - A fairly important bugfix backport diff --git a/Cargo.toml b/Cargo.toml index 9d7ac13e24..f81b42b141 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "image" -version = "0.21.1" +version = "0.21.2" license = "MIT" description = "Imaging library written in Rust. Provides basic filters and decoders for the most common image formats." authors = [ @@ -15,7 +15,7 @@ authors = [ ] readme = "README.md" documentation = "https://docs.rs/image" -repository = "https://github.com/image-rs/image.git" +repository = "https://github.com/image-rs/image/tree/version-0.21" homepage = "https://github.com/image-rs/image" categories = ["multimedia::images", "multimedia::encoding"] exclude = [ diff --git a/README.md b/README.md index 53071c9b05..881c705d8f 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Image [![Build Status](https://travis-ci.org/image-rs/image.svg?branch=master)](https://travis-ci.org/image-rs/image) [![Gitter](https://badges.gitter.im/image-rs/image.svg)](https://gitter.im/image-rs/image?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) +# Image [![Build Status](https://travis-ci.org/image-rs/image.svg?branch=version-0.21)](https://travis-ci.org/image-rs/image) [![Gitter](https://badges.gitter.im/image-rs/image.svg)](https://gitter.im/image-rs/image?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) Maintainers: @nwin, @ccgn From 76ae9bdba73589d6d8d937cf9f33e8e7fa7aa54e Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Sun, 9 Jun 2019 17:09:34 +0200 Subject: [PATCH 37/39] chore: Update glob to 0.3 --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index f81b42b141..e0b75c85f0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -58,7 +58,7 @@ optional = true [dev-dependencies] num-complex = "0.2.0" -glob = "0.2.10" +glob = "0.3" quickcheck = "0.6.2" [features] From e87e835686d8c1f96a363d78a409b7c2ff55bb69 Mon Sep 17 00:00:00 2001 From: Andreas Molzer Date: Mon, 8 Jul 2019 12:39:05 +0200 Subject: [PATCH 38/39] Update metadata and change notes --- CHANGES.md | 15 +++++++++++++++ Cargo.toml | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index b0c3a9b3d7..7bc13d5724 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -10,7 +10,22 @@ Rust image aims to be a pure-Rust implementation of various popular image format ### Version 0.22 +- The required Rust version is now `1.34.2`. +- `PixelMut` now only on `ImageBuffer` and removed from `GenericImage` + interface. Prefer iterating manually in the generic case. +- Replaced an unsafe interface in the hdr decoder with a safe variant. - Support loading 2-bit BMP images +- Update tiff to `0.3` with a writer +- Always use custom struct for ImageDecoder::Reader +- Added apply_without_alpha and map_without_alpha to Pixel trait +- Pixel information now with associated constants instead of static methods +- Changed color structs to tuple types with single component. Improves + ergonomics of destructuring assignment and construction. +- Add lifetime bound on `ImageDecoder` trait. +- Remove unecessary 'static bounds on affine operations +- Add function to retrieve image dimensions without loading full image +- Allow different image types in overlay and replace +- Iterators over rows of `ImageBuffer`, mutable variants ### Version 0.21.2 diff --git a/Cargo.toml b/Cargo.toml index d6660a8a1e..54252d887f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "image" -version = "0.21.2" +version = "0.22.0" license = "MIT" description = "Imaging library written in Rust. Provides basic filters and decoders for the most common image formats." authors = [ From 95e61e4b1464054be98f207249718b8fdafbdf0e Mon Sep 17 00:00:00 2001 From: Andreas Molzer Date: Sat, 20 Jul 2019 17:02:02 +0200 Subject: [PATCH 39/39] Add some missing parts to the changelog In particular also references the web page and blog. --- CHANGES.md | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 7bc13d5724..2bb8629a1e 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -11,22 +11,28 @@ Rust image aims to be a pure-Rust implementation of various popular image format ### Version 0.22 - The required Rust version is now `1.34.2`. +- Note the website and blog: [image-rs.org][1] and [blog.image-rs.org][2] - `PixelMut` now only on `ImageBuffer` and removed from `GenericImage` interface. Prefer iterating manually in the generic case. - Replaced an unsafe interface in the hdr decoder with a safe variant. - Support loading 2-bit BMP images +- Add method to save an `ImageBuffer`/`DynamicImage` with specified format - Update tiff to `0.3` with a writer -- Always use custom struct for ImageDecoder::Reader -- Added apply_without_alpha and map_without_alpha to Pixel trait +- Update png to `0.15`, fixes reading of interlaced sub-byte pixels +- Always use custom struct for `ImageDecoder::Reader` +- Added `apply_without_alpha` and `map_without_alpha` to `Pixel` trait - Pixel information now with associated constants instead of static methods - Changed color structs to tuple types with single component. Improves ergonomics of destructuring assignment and construction. -- Add lifetime bound on `ImageDecoder` trait. -- Remove unecessary 'static bounds on affine operations +- Add lifetime parameter on `ImageDecoder` trait. +- Remove unecessary `'static` bounds on affine operations - Add function to retrieve image dimensions without loading full image - Allow different image types in overlay and replace - Iterators over rows of `ImageBuffer`, mutable variants +[1]: https://www.image-rs.org +[2]: https://blog.image-rs.org + ### Version 0.21.2 - Fixed a variety of crashes and opaque errors in webp