Hi, I encountered this crash in ekiga while writing a v4l2 device driver for a pac207 usb webcam (*). I was testing my driver with ekiga and at first I blamed my driver, but a few hours later I know better. ekiga uses pwlib to access webcam's, and pwlib's vconvert.cxx, and converters from that class should be able to handle both pixelformat changes as scaling. However the SBGGR8toYUV420P converter always assumes that the input image and the output image are the same, without checking this, causing memory corruption (a buffer overflow) when they differ in size. This patch fixes this by using the currently #ifdef-ed out slower path when the sizes differ. It also fixes the (wrongly) swapping of red and blue in this (before this patch unused) path. Also filed upstream: http://bugzilla.gnome.org/show_bug.cgi?id=523891 (*) I know this cam is supported by gspca, thats where I'm getting the info needed to write the driver for. I'm writing a new standalone v4l2 (no in kernel bayer -> rgb conversion) driver, which should adhere to all kernel coding standards, making it suitable for upstream/mainline inclusion.
Created attachment 298854 [details] PATCH: stop pwlib from causing crash when rescaling bayer v4l data to yuv420
pwlib-1.10.10-6.fc9 has been built with the fix. Not sure if it's worth pushing a F-8 update, Daniel