ffmpeg | branch: master | Michael Niedermayer <[email protected]> | Thu Aug  7 
22:28:59 2014 +0200| [5f8300afc6537e2e06f8f90989d5f268884bb79c] | committer: 
Michael Niedermayer

mpegtsenc: Check dynarray_add() for failure

Signed-off-by: Michael Niedermayer <[email protected]>

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

 libavformat/mpegtsenc.c |   17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c
index 5d98ea8..5c0b0d7 100644
--- a/libavformat/mpegtsenc.c
+++ b/libavformat/mpegtsenc.c
@@ -533,14 +533,17 @@ static MpegTSService *mpegts_add_service(MpegTSWrite *ts, 
int sid,
     service->pcr_pid       = 0x1fff;
     service->provider_name = av_strdup(provider_name);
     service->name          = av_strdup(name);
-    if (!service->provider_name || !service->name) {
-        av_freep(&service->provider_name);
-        av_freep(&service->name);
-        av_free(service);
-        return NULL;
-    }
-    dynarray_add(&ts->services, &ts->nb_services, service);
+    if (!service->provider_name || !service->name)
+        goto fail;
+    if (av_dynarray_add_nofree(&ts->services, &ts->nb_services, service) < 0)
+        goto fail;
+
     return service;
+fail:
+    av_freep(&service->provider_name);
+    av_freep(&service->name);
+    av_free(service);
+    return NULL;
 }
 
 static int64_t get_pcr(const MpegTSWrite *ts, AVIOContext *pb)

_______________________________________________
ffmpeg-cvslog mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

Reply via email to