Messages in this thread Patch in this message | | | Date | Sun, 20 Apr 2008 12:27:36 +0100 | From | Alan Cox <> | Subject | [PATCH] 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>
--- linux.vanilla-2.6.25-rc8-mm2/drivers/media/video/ivtv/ivtv-ioctl.c 2008-04-13 15:36:53.000000000 +0100 +++ linux-2.6.25-rc8-mm2/drivers/media/video/ivtv/ivtv-ioctl.c 2008-04-20 12:15:33.000000000 +0100 @@ -742,7 +742,8 @@ 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 */ -- "Hello, welcome to Jon Masters' house of pain" - Jon after a particularly good night
| |