[FFmpeg-cvslog] avconv: Do not copy extradata if source buffer is empty

Vittorio Giovara git at videolan.org
Mon Jun 27 20:11:38 CEST 2016


ffmpeg | branch: master | Vittorio Giovara <vittorio.giovara at gmail.com> | Fri Jun  3 12:14:50 2016 -0400| [20a8c78ce0a5baf37f6a94e2d1e57e186b6f4b54] | committer: Vittorio Giovara

avconv: Do not copy extradata if source buffer is empty

Fixes clang-usan runtime error "null pointer passed as argument 2,
which is declared to never be null" while streamcopying.

Signed-off-by: Vittorio Giovara <vittorio.giovara at gmail.com>

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

 avconv.c |   13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/avconv.c b/avconv.c
index d863103..2e3bde9 100644
--- a/avconv.c
+++ b/avconv.c
@@ -1875,12 +1875,15 @@ static int transcode_init(void)
             par_dst->bit_rate        = par_src->bit_rate;
             par_dst->field_order     = par_src->field_order;
             par_dst->chroma_location = par_src->chroma_location;
-            par_dst->extradata       = av_mallocz(extra_size);
-            if (!par_dst->extradata) {
-                return AVERROR(ENOMEM);
+            if (par_src->extradata != NULL) {
+                par_dst->extradata = av_mallocz(extra_size);
+                if (!par_dst->extradata) {
+                    return AVERROR(ENOMEM);
+                }
+                memcpy(par_dst->extradata, par_src->extradata,
+                       par_src->extradata_size);
+                par_dst->extradata_size = par_src->extradata_size;
             }
-            memcpy(par_dst->extradata, par_src->extradata, par_src->extradata_size);
-            par_dst->extradata_size = par_src->extradata_size;
 
             ost->st->time_base = ist->st->time_base;
 



More information about the ffmpeg-cvslog mailing list