From 317cfaa5e09755ed0b34af512ec687963a67bdbf Mon Sep 17 00:00:00 2001 From: Alexandra Hájková Date: Thu, 13 Aug 2015 10:16:20 +0200 Subject: asfdec: prevent the memory leak in the asf_read_metada_obj also do not return the error code but just break reading metadata object in the case of the aspect ratio reading failure Signed-off-by: Luca Barbato --- libavformat/asfdec.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'libavformat/asfdec.c') diff --git a/libavformat/asfdec.c b/libavformat/asfdec.c index 93e8c3cdfa..4b04227a71 100644 --- a/libavformat/asfdec.c +++ b/libavformat/asfdec.c @@ -590,8 +590,10 @@ static int asf_read_metadata_obj(AVFormatContext *s, const GUIDParseTable *g) buflen); if (!strcmp(name, "AspectRatioX") || !strcmp(name, "AspectRatioY")) { ret = asf_store_aspect_ratio(s, st_num, name, type); - if (ret < 0) - return ret; + if (ret < 0) { + av_freep(&name); + break; + } } else { if (st_num < ASF_MAX_STREAMS) { if ((ret = process_metadata(s, name, name_len, val_len, type, -- cgit v1.2.3