[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20241028080256.3537188-1-ruanjinjie@huawei.com>
Date: Mon, 28 Oct 2024 16:02:56 +0800
From: Jinjie Ruan <ruanjinjie@...wei.com>
To: <hverkuil@...all.nl>, <mchehab@...nel.org>, <moinejf@...e.fr>,
<linux-media@...r.kernel.org>, <linux-kernel@...r.kernel.org>
CC: <ruanjinjie@...wei.com>
Subject: [PATCH] media: gspca: ov534-ov772x: Fix off-by-one error in set_frame_rate()
In set_frame_rate(), select a rate in rate_0 or rate_1 by checking
sd->frame_rate >= r->fps in a loop, but the loop condition terminates when
the index reaches zero, which fails to check the last elememt in rate_0 or
rate_1.
Check for >= 0 so that the last one in rate_0 or rate_1 is also checked.
Fixes: 189d92af707e ("V4L/DVB (13422): gspca - ov534: ov772x changes from Richard Kaswy.")
Signed-off-by: Jinjie Ruan <ruanjinjie@...wei.com>
---
drivers/media/usb/gspca/ov534.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/media/usb/gspca/ov534.c b/drivers/media/usb/gspca/ov534.c
index 8b6a57f170d0..bdff64a29a33 100644
--- a/drivers/media/usb/gspca/ov534.c
+++ b/drivers/media/usb/gspca/ov534.c
@@ -847,7 +847,7 @@ static void set_frame_rate(struct gspca_dev *gspca_dev)
r = rate_1;
i = ARRAY_SIZE(rate_1);
}
- while (--i > 0) {
+ while (--i >= 0) {
if (sd->frame_rate >= r->fps)
break;
r++;
--
2.34.1
Powered by blists - more mailing lists