From dba5b06ead6bbec8fd1207d778240188182c8361 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Fri, 6 Jul 2012 22:21:09 +0200 Subject: flacdec: don't create an attached picture stream until we have all information. This way we don't end with an invalid stream if parsing the picture fails. --- libavformat/flacdec.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'libavformat/flacdec.c') diff --git a/libavformat/flacdec.c b/libavformat/flacdec.c index f481c10cfa..0be60a4b7e 100644 --- a/libavformat/flacdec.c +++ b/libavformat/flacdec.c @@ -38,10 +38,6 @@ static int parse_picture(AVFormatContext *s, uint8_t *buf, int buf_size) int type, width, height; int len, ret = 0; - st = avformat_new_stream(s, NULL); - if (!st) - return AVERROR(ENOMEM); - pb = avio_alloc_context(buf, buf_size, 0, NULL, NULL, NULL, NULL); if (!pb) return AVERROR(ENOMEM); @@ -114,6 +110,12 @@ static int parse_picture(AVFormatContext *s, uint8_t *buf, int buf_size) goto fail; } + st = avformat_new_stream(s, NULL); + if (!st) { + ret = AVERROR(ENOMEM); + goto fail; + } + av_init_packet(&st->attached_pic); st->attached_pic.data = data; st->attached_pic.size = len; -- cgit v1.2.3