apetag: do not leak memory if avio_read() fails
authorPaul B Mahol <onemda@gmail.com>
Fri, 24 Feb 2012 00:15:36 +0000 (00:15 +0000)
committerRonald S. Bultje <rsbultje@gmail.com>
Fri, 24 Feb 2012 00:16:37 +0000 (16:16 -0800)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
libavformat/apetag.c

index 378ae10..68c987e 100644 (file)
@@ -75,8 +75,10 @@ static int ape_tag_read_field(AVFormatContext *s)
         if (!value)
             return AVERROR(ENOMEM);
         c = avio_read(pb, value, size);
-        if (c < 0)
+        if (c < 0) {
+            av_free(value);
             return c;
+        }
         value[c] = 0;
         av_dict_set(&s->metadata, key, value, AV_DICT_DONT_STRDUP_VAL);
     }