[libav-stable] flvdec: make sure to check create_stream and report the same error

Vittorio Giovara git at libav.org
Tue Oct 21 16:05:59 CEST 2014


Module: libav
Branch: master
Commit: 629b2ed0ac77d7c4bf1aeac5e70cafee5fa0fcae

Author:    Vittorio Giovara <vittorio.giovara at gmail.com>
Committer: Vittorio Giovara <vittorio.giovara at gmail.com>
Date:      Mon Oct 20 12:56:41 2014 +0100

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

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

---

 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 libav-stable mailing list