Hi people, the attached patch fixes a little bug in uvideo(4), where using VIDIOC_ENUM_FMT with fmtdesc->index strictly larger than the number of available video formats crashes the kernel (I forgot the exact error message, but a crash is a crash and the attached patch fixes it).
-- Gregor Best Index: dev/usb/uvideo.c =================================================================== RCS file: /cvs/src/sys/dev/usb/uvideo.c,v retrieving revision 1.166 diff -u -p -r1.166 uvideo.c --- dev/usb/uvideo.c 28 Oct 2011 12:48:31 -0000 1.166 +++ dev/usb/uvideo.c 16 Jun 2012 19:15:58 -0000 @@ -2775,7 +2775,7 @@ uvideo_enum_fmt(void *v, struct v4l2_fmt /* type not supported */ return (EINVAL); - if (fmtdesc->index == sc->sc_fmtgrp_num) + if (fmtdesc->index >= sc->sc_fmtgrp_num) /* no more formats left */ return (EINVAL); idx = fmtdesc->index;