From 3a831817f4a3b488551d5bbcef59bc895638e59b Mon Sep 17 00:00:00 2001 From: Maxim Devaev Date: Mon, 28 Jul 2025 21:26:08 +0300 Subject: [PATCH] pikvm/pikvm#1558: Discard JPEGs with invalid headers --- src/libs/capture.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/libs/capture.c b/src/libs/capture.c index 4496aef..c72f61e 100644 --- a/src/libs/capture.c +++ b/src/libs/capture.c @@ -573,6 +573,12 @@ bool _capture_is_buffer_valid(const us_capture_s *cap, const struct v4l2_buffer return false; } + const u16 begin_marker = (((u16)(data[0]) << 8) | data[1]); + if (begin_marker != 0xFFD8) { + _LOG_DEBUG("Discarding JPEG frame with invalid header: begin_marker=0x%04x, bytesused=%u", begin_marker, buf->bytesused); + return false; + } + const u8 *const end_ptr = data + buf->bytesused; const u8 *const eoi_ptr = end_ptr - 2; const u16 eoi_marker = (((u16)(eoi_ptr[0]) << 8) | eoi_ptr[1]);