From 49dc82eef776634ac2da41fca9f105df25129ad8 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Tue, 8 Jan 2013 08:04:59 +0100 Subject: v4l2: do not assert on a value received from outside of Libav --- libavdevice/v4l2.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'libavdevice') diff --git a/libavdevice/v4l2.c b/libavdevice/v4l2.c index eb5de151f3..d57bd755d5 100644 --- a/libavdevice/v4l2.c +++ b/libavdevice/v4l2.c @@ -460,7 +460,12 @@ static int mmap_read_frame(AVFormatContext *ctx, AVPacket *pkt) return AVERROR(errno); } - assert (buf.index < s->buffers); + + if (buf.index >= s->buffers) { + av_log(ctx, AV_LOG_ERROR, "Invalid buffer index received.\n"); + return AVERROR(EINVAL); + } + if (s->frame_size > 0 && buf.bytesused != s->frame_size) { av_log(ctx, AV_LOG_ERROR, "The v4l2 frame is %d bytes, but %d bytes are expected\n", -- cgit v1.2.3