aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2014-01-13 14:46:07 +0200
committerReinhard Tartler <siretart@tauware.de>2014-02-01 23:51:45 -0500
commita1b4d42d31ba700c97d4388153a2a553d71ca0ba (patch)
tree331a2f7d7347167d3fb808f7fa35f0f0da7b3fd6
parent44079902c49e526f464bb4eb855665e1af867e91 (diff)
downloadffmpeg-a1b4d42d31ba700c97d4388153a2a553d71ca0ba.tar.gz
mov: Free an earlier allocated array if allocating a new one
It could probably also be considered an error if the pointer isn't null at this point, but then we might risk rejecting some slightly broken files that we might have handled so far. Sample-Id: 00000496-google Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org Signed-off-by: Martin Storsjö <martin@martin.st> (cherry picked from commit 2620df13104ddaa136158eb6bb1195adbf9d7692) Signed-off-by: Reinhard Tartler <siretart@tauware.de>
-rw-r--r--libavformat/mov.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/libavformat/mov.c b/libavformat/mov.c
index 6f1ea6c227..e5d8311fbc 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -1649,6 +1649,7 @@ static int mov_read_stts(MOVContext *c, AVIOContext *pb, MOVAtom atom)
if (entries >= UINT_MAX / sizeof(*sc->stts_data))
return AVERROR(EINVAL);
+ av_free(sc->stts_data);
sc->stts_data = av_malloc(entries * sizeof(*sc->stts_data));
if (!sc->stts_data)
return AVERROR(ENOMEM);