[FFmpeg-devel] [PATCH] avformat/vqf: fix memory leak in add_metadata()

Kacper Michajłow kasper93 at gmail.com
Sun Jan 26 21:40:27 EET 2025


Signed-off-by: Kacper Michajłow <kasper93 at gmail.com>
---
 libavformat/vqf.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/libavformat/vqf.c b/libavformat/vqf.c
index 58b1546f53..fbe54739cd 100644
--- a/libavformat/vqf.c
+++ b/libavformat/vqf.c
@@ -66,10 +66,10 @@ static int add_metadata(AVFormatContext *s, uint32_t tag,
         return AVERROR(ENOMEM);
 
     ret = avio_read(s->pb, buf, len);
-    if (ret < 0)
-        return ret;
-    if (len != ret)
-        return AVERROR_INVALIDDATA;
+    if (ret < 0 || ret != len) {
+        av_free(buf);
+        return ret < 0 ? ret : AVERROR_INVALIDDATA;
+    }
     buf[len] = 0;
     AV_WL32(key, tag);
     return av_dict_set(&s->metadata, key, buf, AV_DICT_DONT_STRDUP_VAL);
-- 
2.45.1



More information about the ffmpeg-devel mailing list