Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 910f5f05 authored by Dr. David Alan Gilbert's avatar Dr. David Alan Gilbert Committed by Mauro Carvalho Chehab
Browse files

[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: default avatarDr. David Alan Gilbert <linux@treblig.org>
cc: stable.kernel.org
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 52fae5ee
Loading
Loading
Loading
Loading
+10 −3
Original line number Diff line number Diff line
@@ -645,9 +645,16 @@ static noinline long v4l1_compat_get_picture(
		goto done;
	}

	if (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(
		fmt->fmt.pix.pixelformat);
done: