[FFmpeg-cvslog] avformat/utils: Keep internal and external av_read_frame() packets in sync.
Dale Curtis
git at videolan.org
Sun Jul 21 03:43:33 CEST 2013
ffmpeg | branch: release/1.0 | Dale Curtis <dalecurtis at chromium.org> | Wed May 22 15:17:08 2013 -0700| [858e06aabe127fc71956d8b4ee9e718eb3a1a509] | committer: Michael Niedermayer
avformat/utils: Keep internal and external av_read_frame() packets in sync.
Otherwise, during error conditions, the caller will be left with
dangling pointers to a destructed packet => boom.
BUG=242786
TEST=ffmpeg_regression_tests
Commit slightly simplified by commiter
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
(cherry picked from commit c54a1565f512858ccfa70392f40f11c098bc1b63)
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=858e06aabe127fc71956d8b4ee9e718eb3a1a509
---
libavformat/utils.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/libavformat/utils.c b/libavformat/utils.c
index 733858e..b4a8a1f 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -1412,6 +1412,9 @@ static int read_frame_internal(AVFormatContext *s, AVPacket *pkt)
st->skip_to_keyframe = 0;
if (st->skip_to_keyframe) {
av_free_packet(&cur_pkt);
+ if (got_packet) {
+ *pkt = cur_pkt;
+ }
got_packet = 0;
}
}
More information about the ffmpeg-cvslog
mailing list