From d32adf8ef48d356f32a424c9092e57da1647d8ba Mon Sep 17 00:00:00 2001 From: Micah Snyder Date: Fri, 2 Sep 2022 15:00:29 -0700 Subject: [PATCH] Handle possible JPEG decoder errors The JPEG decoder may fail and panic the TIFF decoder. This commit converts the JPEG `Format(String)` error to a TIFF `Format(String)` error. Fixes #168 --- src/decoder/image.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/decoder/image.rs b/src/decoder/image.rs index 00cdd65..55bccd8 100644 --- a/src/decoder/image.rs +++ b/src/decoder/image.rs @@ -345,7 +345,14 @@ impl Image { let jpeg_reader = JpegReader::new(reader, compressed_length, jpeg_tables)?; let mut decoder = jpeg::Decoder::new(jpeg_reader); - let data = decoder.decode().unwrap(); + let data = match decoder.decode() { + Ok(data) => data, + Err(e) => { + return Err(TiffError::FormatError(TiffFormatError::Format( + e.to_string(), + ))) + } + }; Box::new(Cursor::new(data)) }