diff options
author | Martin Storsjö <martin@martin.st> | 2013-09-19 16:49:48 +0300 |
---|---|---|
committer | Martin Storsjö <martin@martin.st> | 2013-09-19 22:46:21 +0300 |
commit | d8b68660145c76a23fc9665f96932449514ecad2 (patch) | |
tree | 4bc41f8ee267d51f55a62aa4a4fb07ad056c1f64 | |
parent | 3185a80259ce1f8f8111073dbd14a69a396e03a3 (diff) | |
download | ffmpeg-streaming-d8b68660145c76a23fc9665f96932449514ecad2.zip ffmpeg-streaming-d8b68660145c76a23fc9665f96932449514ecad2.tar.gz |
yop: Clear all references to the AVBuffer in the local AVPacket
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ö <martin@martin.st>
-rw-r--r-- | libavformat/yop.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libavformat/yop.c b/libavformat/yop.c index 5fe6bdc..8caeb07 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; |