Patch "media: v4l2-jpeg: correct the skip count in jpeg_parse_app14_data" has been added to the 6.1-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    media: v4l2-jpeg: correct the skip count in jpeg_parse_app14_data

to the 6.1-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     media-v4l2-jpeg-correct-the-skip-count-in-jpeg_parse.patch
and it can be found in the queue-6.1 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 239fef64d470915fe779c6dec4c43fe2aa861447
Author: Ming Qian <ming.qian@xxxxxxx>
Date:   Fri Dec 16 09:30:33 2022 +0100

    media: v4l2-jpeg: correct the skip count in jpeg_parse_app14_data
    
    [ Upstream commit 41959c4f973b837a12061b84d3a436fc64c73a30 ]
    
    The curr pointer has advanced 14 bytes in jpeg_parse_app14_data.
    1. jpeg_get_word_be(stream), it goes forward 2 bytes.
    2. jpeg_skip(stream, 11), it goes forward 11 bytes.
    3. jpeg_get_byte(stream), it goes forward 1 bytes.
    
    so the remain bytes of this segment should be (lp - 2 - 11 - 1),
    but not (lp - 2 - 11).
    
    if driver skip 1 extra bytes, the following parsing may go wrong.
    
    Fixes: b8035f7988a8 ("media: Add parsing for APP14 data segment in jpeg helpers")
    Signed-off-by: Ming Qian <ming.qian@xxxxxxx>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xxxxxxxxx>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/media/v4l2-core/v4l2-jpeg.c b/drivers/media/v4l2-core/v4l2-jpeg.c
index c2513b775f6a7..75c2af763d55e 100644
--- a/drivers/media/v4l2-core/v4l2-jpeg.c
+++ b/drivers/media/v4l2-core/v4l2-jpeg.c
@@ -474,7 +474,7 @@ static int jpeg_parse_app14_data(struct jpeg_stream *stream,
 	*tf = ret;
 
 	/* skip the rest of the segment, this ensures at least it is complete */
-	skip = lp - 2 - 11;
+	skip = lp - 2 - 11 - 1;
 	return jpeg_skip(stream, skip);
 }
 



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux