[libav-stable] mov: Free an earlier allocated array if allocating a new one

Martin Storsjö git at libav.org
Wed Jan 15 09:00:14 CET 2014

Module: libav
Branch: master
Commit: 2620df13104ddaa136158eb6bb1195adbf9d7692

Author:    Martin Storsjö <martin at martin.st>
Committer: Martin Storsjö <martin at martin.st>
Date:      Mon Jan 13 14:46:07 2014 +0200

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 at libav.org
Signed-off-by: Martin Storsjö <martin at martin.st>


 libavformat/mov.c |    1 +
 1 file changed, 1 insertion(+)

diff --git a/libavformat/mov.c b/libavformat/mov.c
index b7823bf..b5019f5 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -1717,6 +1717,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);

More information about the libav-stable mailing list