diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2015-04-20 23:59:53 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2015-05-15 10:04:50 +0200 |
commit | a75f293264f304e905f07cfa2debb070af2981e4 (patch) | |
tree | 16d47fcb93d2b98994c5a99654f010b2d74e951b | |
parent | 33862c1f6ddc778adf23837e0f4ff7ec363096c9 (diff) | |
download | ffmpeg-a75f293264f304e905f07cfa2debb070af2981e4.tar.gz |
avformat/img2dec: do not rewind custom io buffers
Fixes double free with some applications
Fixes vlc ticket14121
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit e6e8cc8ce9c2a398fbb51254a5067f4bd3c4fa8a)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavformat/img2dec.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/libavformat/img2dec.c b/libavformat/img2dec.c index 8c5e9d5d56..5fc5b8342d 100644 --- a/libavformat/img2dec.c +++ b/libavformat/img2dec.c @@ -341,7 +341,10 @@ int ff_img_read_header(AVFormatContext *s1) break; } } - ffio_rewind_with_probe_data(s1->pb, &probe_buffer, probe_buffer_size); + if (s1->flags & AVFMT_FLAG_CUSTOM_IO) { + avio_seek(s1->pb, 0, SEEK_SET); + } else + ffio_rewind_with_probe_data(s1->pb, &probe_buffer, probe_buffer_size); } if (st->codec->codec_id == AV_CODEC_ID_NONE) st->codec->codec_id = ff_guess_image2_codec(s->path); |