V4L/DVB (7729): Fix VIDIOCGAP corruption in ivtv
Frank Bennett reported that ivtv was causing skype to crash. With help from one of their developers he showed it was a kernel problem. VIDIOCGCAP copies a name into a fixed length buffer - ivtv uses names that are too long and does not truncate them so corrupts a few bytes of the app data area. Possibly the names also want trimming but for now this should fix the corruption case. Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This commit is contained in:
parent
867e835f4d
commit
d2b213f7b7
@ -742,7 +742,8 @@ int ivtv_v4l2_ioctls(struct ivtv *itv, struct file *filp, unsigned int cmd, void
|
||||
|
||||
memset(vcap, 0, sizeof(*vcap));
|
||||
strcpy(vcap->driver, IVTV_DRIVER_NAME); /* driver name */
|
||||
strcpy(vcap->card, itv->card_name); /* card type */
|
||||
strncpy(vcap->card, itv->card_name,
|
||||
sizeof(vcap->card)-1); /* card type */
|
||||
strcpy(vcap->bus_info, pci_name(itv->dev)); /* bus info... */
|
||||
vcap->version = IVTV_DRIVER_VERSION; /* version */
|
||||
vcap->capabilities = itv->v4l2_cap; /* capabilities */
|
||||
|
Loading…
Reference in New Issue
Block a user