From 08324af1aaa9f0b4ac88fd65d81371d0bde0d023 Mon Sep 17 00:00:00 2001 From: Ryan VanderMeulen Date: Tue, 4 Jun 2024 12:10:02 +0000 Subject: [PATCH] Bug 1898606 - Guard against dupe SOF w/ incorrect source manager. r=tnikkel Backport of upstream commit: https://github.com/libjpeg-turbo/libjpeg-turbo/commit/3c17063ef1ab43f5877f19d670dc39497c5cd036 Differential Revision: https://phabricator.services.mozilla.com/D212120 --- media/libjpeg/MOZCHANGES | 4 ++++ media/libjpeg/jdmarker.c | 6 +++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/media/libjpeg/MOZCHANGES b/media/libjpeg/MOZCHANGES index d32e00ce34fd..46a1076fd36f 100644 --- a/media/libjpeg/MOZCHANGES +++ b/media/libjpeg/MOZCHANGES @@ -48,6 +48,10 @@ To upgrade to a new revision of libjpeg-turbo, do the following: $ hg addremove +== May 30, 2024 == + +* Fixed bug 1898606. + == May 9, 2024 (libjpeg-turbo v3.0.3 7fa4b5b762c9a99b46b0b7838f5fd55071b92ea5 2024-05-08) == * Updated to v3.0.3 release. diff --git a/media/libjpeg/jdmarker.c b/media/libjpeg/jdmarker.c index acd28ce62c54..475abf9d6b3f 100644 --- a/media/libjpeg/jdmarker.c +++ b/media/libjpeg/jdmarker.c @@ -248,6 +248,9 @@ get_sof(j_decompress_ptr cinfo, boolean is_prog, boolean is_lossless, jpeg_component_info *compptr; INPUT_VARS(cinfo); + if (cinfo->marker->saw_SOF) + ERREXIT(cinfo, JERR_SOF_DUPLICATE); + cinfo->progressive_mode = is_prog; cinfo->master->lossless = is_lossless; cinfo->arith_code = is_arith; @@ -265,9 +268,6 @@ get_sof(j_decompress_ptr cinfo, boolean is_prog, boolean is_lossless, (int)cinfo->image_width, (int)cinfo->image_height, cinfo->num_components); - if (cinfo->marker->saw_SOF) - ERREXIT(cinfo, JERR_SOF_DUPLICATE); - /* We don't support files in which the image height is initially specified */ /* as 0 and is later redefined by DNL. As long as we have to check that, */ /* might as well have a general sanity check. */