cx18: Read buffer overflow
PATCH 1/1 cx18: Read buffer overflow
The guard mistakenly tests against sizeof(freqs) instead of ARRAY_SIZE(freqs).
Signed-off-by Roel Kluin <[email protected]>
---
Quoted 1 line · Andy Walls
The cx18 driver suffers from the exact same defect in
cx18-controls.c.
Thanks, if not already applied, here is it.
drivers/media/video/ivtv/ivtv-controls.c +2 -1
@@ -17,6 +17,7 @@along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#include <linux/kernel.h> #include "ivtv-driver.h" #include "ivtv-cards.h"
@@ -281,7 +282,7 @@ int ivtv_s_ext_ctrls(struct file *file, void *fh, struct v4l2_ext_controls *c) idx = p.audio_properties &0x03 ;/* The audio clock of the digitizer must match the codec sample rate otherwise you get some very strange effects. */ -if (idx <sizeof (freqs)) +if (idx <ARRAY_SIZE (freqs))ivtv_call_all (itv, audio, s_clock_freq, freqs[idx]);return err; }
Quoted 9 lines · Roel Kluin
The guard mistakenly tests against sizeof(freqs) instead of
ARRAY_SIZE(freqs).Signed-off-by Roel Kluin <[email protected]>---
Quoted 1 line · Andy Walls
The cx18 driver suffers from the exact same defect in
cx18-controls.c.Thanks, if not already applied, here is it.
Thanks. They've already made it to the main v4l-dvb repository
http://linuxtv.org/hg/v4l-dvb/rev/83131c18cb5f
http://linuxtv.org/hg/v4l-dvb/rev/f8c53e25ce11
Regards,
Andy
Quoted 22 lines
drivers/media/video/ivtv/ivtv-controls.c +2
-1@@ -17,6 +17,7 @@along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#include <linux/kernel.h> #include "ivtv-driver.h" #include "ivtv-cards.h" @@ -281,7 +282,7 @@ int ivtv_s_ext_ctrls(struct file *file, void *fh, struct v4l2_ext_controls *c) idx = p.audio_properties &0x03 ;/* The audio clock of the digitizer must match the codec sample rate otherwise you get some very strange effects. */ -if (idx <sizeof (freqs)) +if (idx <ARRAY_SIZE (freqs))ivtv_call_all (itv, audio, s_clock_freq, freqs[idx]);return err; }