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>
This commit is contained in:
Michael Niedermayer 2015-04-20 23:59:53 +02:00
parent 954b5e340e
commit e6e8cc8ce9

View File

@ -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);