[FFmpeg-cvslog] lavf/mux: check av_dup_packet() return value.

Nicolas George git at videolan.org
Thu Feb 20 03:06:04 CET 2014


ffmpeg | branch: master | Nicolas George <george at nsup.org> | Wed Feb 19 17:43:46 2014 +0100| [916a79227e0dbeb8c1a2b7285b959729fa53e470] | committer: Michael Niedermayer

lavf/mux: check av_dup_packet() return value.

Signed-off-by: Nicolas George <george at nsup.org>
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

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

 libavformat/mux.c |    7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/libavformat/mux.c b/libavformat/mux.c
index c535c82..2241dbe 100644
--- a/libavformat/mux.c
+++ b/libavformat/mux.c
@@ -639,6 +639,7 @@ int ff_interleave_add_packet(AVFormatContext *s, AVPacket *pkt,
     AVPacketList **next_point, *this_pktl;
     AVStream *st   = s->streams[pkt->stream_index];
     int chunked    = s->max_chunk_size || s->max_chunk_duration;
+    int ret;
 
     this_pktl      = av_mallocz(sizeof(AVPacketList));
     if (!this_pktl)
@@ -654,7 +655,11 @@ FF_ENABLE_DEPRECATION_WARNINGS
         av_assert0(pkt->size == UNCODED_FRAME_PACKET_SIZE);
         av_assert0(((AVFrame *)pkt->data)->buf);
     } else {
-        av_dup_packet(&this_pktl->pkt);  // duplicate the packet if it uses non-allocated memory
+        // duplicate the packet if it uses non-allocated memory
+        if ((ret = av_dup_packet(&this_pktl->pkt)) < 0) {
+            av_free(this_pktl);
+            return ret;
+        }
         av_copy_packet_side_data(&this_pktl->pkt, &this_pktl->pkt); // copy side data
     }
 



More information about the ffmpeg-cvslog mailing list