Module: libav
Branch: master
Commit: 4ebd422c04849a21a6bb2128a715979e8067e6a6

Author:    Dale Curtis <[email protected]>
Committer: Luca Barbato <[email protected]>
Date:      Thu Apr 12 17:56:57 2012 -0700

mov: fix leaking memory with multiple drefs.

Instead of allocating over the original, free first. MOVStreamContext
is zero initialized so no double free will occur. Same style as other
fixes for the same problem in this file.

Signed-off-by: Dale Curtis <[email protected]>
Signed-off-by: Luca Barbato <[email protected]>

---

 libavformat/mov.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/libavformat/mov.c b/libavformat/mov.c
index 046c030..5787f1a 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -387,6 +387,7 @@ static int mov_read_dref(MOVContext *c, AVIOContext *pb, 
MOVAtom atom)
     entries = avio_rb32(pb);
     if (entries >= UINT_MAX / sizeof(*sc->drefs))
         return AVERROR_INVALIDDATA;
+    av_free(sc->drefs);
     sc->drefs = av_mallocz(entries * sizeof(*sc->drefs));
     if (!sc->drefs)
         return AVERROR(ENOMEM);

_______________________________________________
libav-commits mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-commits

Reply via email to