Re: [PATCH] Fix VIDIOCGAP corruption in ivtv

From: Hans Verkuil
Date: Sun Apr 20 2008 - 12:17:34 EST


On Sunday 20 April 2008 13:27:36 Alan Cox wrote:
> 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.

Ouch, nasty one.

Mauro, can you apply this patch to the v4l-dvb master?

Mike, this one should obviously go into a 2.6.25 dot-release, and I
think also to a 2.6.24 dot-release.

Frank, thank you for reporting this!

Hans

Signed-off-by: Hans Verkuil <hverkuil@xxxxxxxxx>

>
> Signed-off-by: Alan Cox <alan@xxxxxxxxxx>
>
> ---
> linux.vanilla-2.6.25-rc8-mm2/drivers/media/video/ivtv/ivtv-ioctl.c 20
>08-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
>
> --
> video4linux-list mailing list
> Unsubscribe
> mailto:video4linux-list-request@xxxxxxxxxx?subject=unsubscribe
> https://www.redhat.com/mailman/listinfo/video4linux-list


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/