[libav-commits] idcin: fix memleaks in idcin_read_packet()

Justin Ruggles git at libav.org
Wed Jan 16 18:24:19 CET 2013


Module: libav
Branch: master
Commit: b805c725a31f6cb05c488e485eb6ab370a851633

Author:    Justin Ruggles <justin.ruggles at gmail.com>
Committer: Justin Ruggles <justin.ruggles at gmail.com>
Date:      Tue Jan 15 16:20:57 2013 -0500

idcin: fix memleaks in idcin_read_packet()

Fixes fate-id-cin-video failures when running FATE with valgrind.

---

 libavformat/idcin.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/libavformat/idcin.c b/libavformat/idcin.c
index b7e87a7..18da918 100644
--- a/libavformat/idcin.c
+++ b/libavformat/idcin.c
@@ -309,6 +309,7 @@ static int idcin_read_packet(AVFormatContext *s,
             return ret;
         else if (ret != chunk_size) {
             av_log(s, AV_LOG_ERROR, "incomplete packet\n");
+            av_free_packet(pkt);
             return AVERROR(EIO);
         }
         if (command == 1) {
@@ -316,8 +317,10 @@ static int idcin_read_packet(AVFormatContext *s,
 
             pal = av_packet_new_side_data(pkt, AV_PKT_DATA_PALETTE,
                                           AVPALETTE_SIZE);
-            if (ret < 0)
+            if (ret < 0) {
+                av_free_packet(pkt);
                 return ret;
+            }
             memcpy(pal, palette, AVPALETTE_SIZE);
             pkt->flags |= AV_PKT_FLAG_KEY;
         }



More information about the libav-commits mailing list