mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-04-14 00:58:38 +02:00
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@gmx.at>
This commit is contained in:
parent
1f02927d28
commit
c54a1565f5
@ -1506,6 +1506,9 @@ static int read_frame_internal(AVFormatContext *s, AVPacket *pkt)
|
|||||||
st->skip_to_keyframe = 0;
|
st->skip_to_keyframe = 0;
|
||||||
if (st->skip_to_keyframe) {
|
if (st->skip_to_keyframe) {
|
||||||
av_free_packet(&cur_pkt);
|
av_free_packet(&cur_pkt);
|
||||||
|
if (got_packet) {
|
||||||
|
*pkt = cur_pkt;
|
||||||
|
}
|
||||||
got_packet = 0;
|
got_packet = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user