[SCM] libav/experimental: Replace av_malloc() and memset(0) by av_mallocz()

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Aug 10 16:03:34 UTC 2014


The following commit has been merged in the experimental branch:
commit 73953df71a28e94d8959facba7906cf5975ca4ef
Author: Diego Biurrun <diego at biurrun.de>
Date:   Fri Jun 20 00:04:36 2014 +0200

    Replace av_malloc() and memset(0) by av_mallocz()

diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
index e376bae..d5bc923 100644
--- a/libavformat/matroskadec.c
+++ b/libavformat/matroskadec.c
@@ -746,11 +746,9 @@ static int ebml_read_ascii(AVIOContext *pb, int size, char **str)
 static int ebml_read_binary(AVIOContext *pb, int length, EbmlBin *bin)
 {
     av_free(bin->data);
-    if (!(bin->data = av_malloc(length + FF_INPUT_BUFFER_PADDING_SIZE)))
+    if (!(bin->data = av_mallocz(length + FF_INPUT_BUFFER_PADDING_SIZE)))
         return AVERROR(ENOMEM);
 
-    memset(bin->data + length, 0, FF_INPUT_BUFFER_PADDING_SIZE);
-
     bin->size = length;
     bin->pos  = avio_tell(pb);
     if (avio_read(pb, bin->data, length) != length) {
diff --git a/libavformat/rmdec.c b/libavformat/rmdec.c
index eb0f3c5..79a0756 100644
--- a/libavformat/rmdec.c
+++ b/libavformat/rmdec.c
@@ -86,11 +86,10 @@ static int rm_read_extradata(AVIOContext *pb, AVCodecContext *avctx, unsigned si
 {
     if (size >= 1<<24)
         return -1;
-    avctx->extradata = av_malloc(size + FF_INPUT_BUFFER_PADDING_SIZE);
+    avctx->extradata = av_mallocz(size + FF_INPUT_BUFFER_PADDING_SIZE);
     if (!avctx->extradata)
         return AVERROR(ENOMEM);
     avctx->extradata_size = avio_read(pb, avctx->extradata, size);
-    memset(avctx->extradata + avctx->extradata_size, 0, FF_INPUT_BUFFER_PADDING_SIZE);
     if (avctx->extradata_size != size)
         return AVERROR(EIO);
     return 0;
diff --git a/libavformat/utils.c b/libavformat/utils.c
index ab6c6bf..133822b 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -2381,14 +2381,12 @@ int avformat_find_stream_info(AVFormatContext *ic, AVDictionary **options)
             int i = st->parser->parser->split(st->codec, pkt->data, pkt->size);
             if (i > 0 && i < FF_MAX_EXTRADATA_SIZE) {
                 st->codec->extradata_size = i;
-                st->codec->extradata = av_malloc(st->codec->extradata_size +
-                                                 FF_INPUT_BUFFER_PADDING_SIZE);
+                st->codec->extradata = av_mallocz(st->codec->extradata_size +
+                                                  FF_INPUT_BUFFER_PADDING_SIZE);
                 if (!st->codec->extradata)
                     return AVERROR(ENOMEM);
                 memcpy(st->codec->extradata, pkt->data,
                        st->codec->extradata_size);
-                memset(st->codec->extradata + i, 0,
-                       FF_INPUT_BUFFER_PADDING_SIZE);
             }
         }
 

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list