From 5449a787c953f40f0f4312e6f5897775904ffc45 Mon Sep 17 00:00:00 2001 From: Luca Abeni Date: Fri, 30 Jan 2009 12:41:44 +0000 Subject: If AVPacket->data == NULL, the packet does not contain any buffer to be freed. This fixes a double free on exit. Originally committed as revision 16857 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavdevice/v4l2.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'libavdevice') diff --git a/libavdevice/v4l2.c b/libavdevice/v4l2.c index b5f7db2885..819b6a5c1c 100644 --- a/libavdevice/v4l2.c +++ b/libavdevice/v4l2.c @@ -325,6 +325,10 @@ static void mmap_release_buffer(AVPacket *pkt) int res, fd; struct buff_data *buf_descriptor = pkt->priv; + if (pkt->data == NULL) { + return; + } + memset(&buf, 0, sizeof(struct v4l2_buffer)); buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; buf.memory = V4L2_MEMORY_MMAP; -- cgit v1.2.3