ivtv: Read buffer overflow
PATCH 1/1 ivtv: Read buffer overflow
This mistakenly tests against sizeof(freqs) instead of the array size. Due to the mask the only illegal value possible was 3.
Signed-off-by Roel Kluin <[email protected]>
---
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 4 lines · Roel Kluin
This mistakenly tests against sizeof(freqs) instead of the array size. Due to the mask the only illegal value possible was 3.
Signed-off-by Roel Kluin <[email protected]>
Acked-by Andy Walls <[email protected]>
The cx18 driver suffers from the exact same defect in cx18-controls.c.
Quoted 27 lines
---
drivers/media/video/ivtv/ivtv-controls.c +2
-2@@ -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; } --To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html