Bug 438605

Summary: PATCH: stop pwlib from causing crash when rescaling bayer v4l data to yuv420
Product: [Fedora] Fedora Reporter: Hans de Goede <hdegoede>
Component: pwlibAssignee: Daniel Veillard <veillard>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: rawhide   
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-03-27 15:39:34 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
PATCH: stop pwlib from causing crash when rescaling bayer v4l data to yuv420 none

Description Hans de Goede 2008-03-22 18:53:39 UTC
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.

Comment 1 Hans de Goede 2008-03-22 18:53:39 UTC
Created attachment 298854 [details]
PATCH: stop pwlib from causing crash when rescaling bayer v4l data to yuv420

Comment 2 Daniel Veillard 2008-03-27 15:39:34 UTC
pwlib-1.10.10-6.fc9 has been built with the fix. Not sure if it's worth
pushing a F-8 update,

Daniel