summaryrefslogtreecommitdiff
path: root/libavformat/matroskadec.c
diff options
context:
space:
mode:
authorMats Peterson <matsp888@yahoo.com>2016-01-11 07:43:29 +0100
committerMichael Niedermayer <michael@niedermayer.cc>2016-01-12 14:53:25 +0100
commitadef8ee794aa1b09e2e6095a59b5a291635ac44f (patch)
treed244907c7aa82ceaa36fd045cbbf35f62e02fa2f /libavformat/matroskadec.c
parentd64d6edfc7f57293ac96b1417124c56bf40685d8 (diff)
lavf/matroskadec: Use av_realloc() in get_qt_codec()
Use av_realloc() rather than av_malloc() when normalizing noncompliant private data in get_qt_codec(). Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavformat/matroskadec.c')
-rw-r--r--libavformat/matroskadec.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
index 9e9e074614..cc5ec19590 100644
--- a/libavformat/matroskadec.c
+++ b/libavformat/matroskadec.c
@@ -1719,11 +1719,11 @@ static int get_qt_codec(MatroskaTrack *track, uint32_t *fourcc, enum AVCodecID *
* by expanding/shifting the data by 4 bytes and storing the data
* size at the start. */
if (ff_codec_get_id(codec_tags, AV_RL32(track->codec_priv.data))) {
- uint8_t *p = av_malloc(track->codec_priv.size + 4);
+ uint8_t *p = av_realloc(track->codec_priv.data,
+ track->codec_priv.size + 4);
if (!p)
return AVERROR(ENOMEM);
- memcpy(p + 4, track->codec_priv.data, track->codec_priv.size);
- av_free(track->codec_priv.data);
+ memmove(p + 4, p, track->codec_priv.size);
track->codec_priv.data = p;
track->codec_priv.size += 4;
AV_WB32(track->codec_priv.data, track->codec_priv.size);