From d8b68660145c76a23fc9665f96932449514ecad2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Thu, 19 Sep 2013 16:49:48 +0300 Subject: [PATCH] yop: Clear all references to the AVBuffer in the local AVPacket MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This makes sure that it doesn't try to free an AVBuffer belonging to an earlier packet when we free the local packet at the end. Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org Signed-off-by: Martin Storsjö --- libavformat/yop.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libavformat/yop.c b/libavformat/yop.c index 5fe6bdc7d4..8caeb07157 100644 --- a/libavformat/yop.c +++ b/libavformat/yop.c @@ -127,6 +127,12 @@ static int yop_read_packet(AVFormatContext *s, AVPacket *pkt) if (yop->video_packet.data) { *pkt = yop->video_packet; yop->video_packet.data = NULL; + yop->video_packet.buf = NULL; +#if FF_API_DESTRUCT_PACKET +FF_DISABLE_DEPRECATION_WARNINGS + yop->video_packet.destruct = NULL; +FF_ENABLE_DEPRECATION_WARNINGS +#endif yop->video_packet.size = 0; pkt->data[0] = yop->odd_frame; pkt->flags |= AV_PKT_FLAG_KEY;