lavf/4xm: fix memory leak in error handing path
authorJun Zhao <barryjzhao@tencent.com>
Mon, 23 Sep 2019 02:50:21 +0000 (10:50 +0800)
committerJun Zhao <barryjzhao@tencent.com>
Wed, 25 Sep 2019 03:23:03 +0000 (11:23 +0800)
need to free the header in error path.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
libavformat/4xm.c

index a984fc9..a6101a9 100644 (file)
@@ -241,7 +241,8 @@ static int fourxm_read_header(AVFormatContext *s)
         size       = AV_RL32(&header[i + 4]);
         if (size > header_size - i - 8 && (fourcc_tag == vtrk_TAG || fourcc_tag == strk_TAG)) {
             av_log(s, AV_LOG_ERROR, "chunk larger than array %d>%d\n", size, header_size - i - 8);
-            return AVERROR_INVALIDDATA;
+            ret = AVERROR_INVALIDDATA;
+            goto fail;
         }
 
         if (fourcc_tag == std__TAG) {