mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-17 18:36:00 +00:00
[media] Guard a divide in v4l1 compat layer
Hi, I managed to trigger a divide by 0 in the v4l compat code with the mem2mem test module; I suspect perhaps it shouldn't have been returning a 0 pixel wide picture, but either way it seems right to guard this divide by 0 in the compatibility layer. Tested on 2.6.36 (ubuntu build, but the code in this is the same as upstream), but ***not tested with a real video device***. Signed-off-by: Dr. David Alan Gilbert <linux@treblig.org> cc: stable.kernel.org Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
52fae5eead
commit
910f5f05f9
@ -645,9 +645,16 @@ static noinline long v4l1_compat_get_picture(
|
|||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
|
|
||||||
pict->depth = ((fmt->fmt.pix.bytesperline << 3)
|
if (fmt->fmt.pix.width)
|
||||||
+ (fmt->fmt.pix.width - 1))
|
{
|
||||||
/ fmt->fmt.pix.width;
|
pict->depth = ((fmt->fmt.pix.bytesperline << 3)
|
||||||
|
+ (fmt->fmt.pix.width - 1))
|
||||||
|
/ fmt->fmt.pix.width;
|
||||||
|
} else {
|
||||||
|
err = -EINVAL;
|
||||||
|
goto done;
|
||||||
|
}
|
||||||
|
|
||||||
pict->palette = pixelformat_to_palette(
|
pict->palette = pixelformat_to_palette(
|
||||||
fmt->fmt.pix.pixelformat);
|
fmt->fmt.pix.pixelformat);
|
||||||
done:
|
done:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user