[FFmpeg-cvslog] flvdec: make sure to check create_stream and report the same error

Vittorio Giovara git at videolan.org
Tue Oct 21 22:45:42 CEST 2014


ffmpeg | branch: master | Vittorio Giovara <vittorio.giovara at gmail.com> | Mon Oct 20 12:56:41 2014 +0100| [629b2ed0ac77d7c4bf1aeac5e70cafee5fa0fcae] | committer: Vittorio Giovara

flvdec: make sure to check create_stream and report the same error

CC: libav-stable at libav.org
Bug-Id: CID 732242

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=629b2ed0ac77d7c4bf1aeac5e70cafee5fa0fcae
---

 libavformat/flvdec.c |    7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/libavformat/flvdec.c b/libavformat/flvdec.c
index 1c92cc5..2d5e50e 100644
--- a/libavformat/flvdec.c
+++ b/libavformat/flvdec.c
@@ -717,7 +717,7 @@ static int flv_data_packet(AVFormatContext *s, AVPacket *pkt,
     if (i == s->nb_streams) {
         st = create_stream(s, AVMEDIA_TYPE_DATA);
         if (!st)
-            return AVERROR_INVALIDDATA;
+            return AVERROR(ENOMEM);
         st->codec->codec_id = AV_CODEC_ID_TEXT;
     }
 
@@ -817,9 +817,12 @@ skip:
                     break;
             }
         }
-        if (i == s->nb_streams)
+        if (i == s->nb_streams) {
             st = create_stream(s, is_audio ? AVMEDIA_TYPE_AUDIO
                                            : AVMEDIA_TYPE_VIDEO);
+            if (!st)
+                return AVERROR(ENOMEM);
+        }
         av_dlog(s, "%d %X %d \n", is_audio, flags, st->discard);
 
         if ((flags & FLV_VIDEO_FRAMETYPE_MASK) == FLV_FRAME_KEY ||



More information about the ffmpeg-cvslog mailing list