[FFmpeg-cvslog] avformat/imf: fix CPL parsing error handling

Pierre-Anthony Lemieux git at videolan.org
Wed Jan 5 13:22:29 EET 2022


ffmpeg | branch: master | Pierre-Anthony Lemieux <pal at palemieux.com> | Tue Jan  4 18:42:06 2022 -0800| [76ffe1c2f1432001f2cdde42d53c839247a43380] | committer: Zane van Iperen

avformat/imf: fix CPL parsing error handling

Signed-off-by: Pierre-Anthony Lemieux <pal at palemieux.com>
Signed-off-by: Zane van Iperen <zane at zanevaniperen.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=76ffe1c2f1432001f2cdde42d53c839247a43380
---

 libavformat/imf_cpl.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/libavformat/imf_cpl.c b/libavformat/imf_cpl.c
index 28798d3e36..366a1be9e2 100644
--- a/libavformat/imf_cpl.c
+++ b/libavformat/imf_cpl.c
@@ -807,7 +807,9 @@ int ff_imf_parse_cpl(AVIOContext *in, FFIMFCPL **cpl)
         av_log(NULL, AV_LOG_ERROR, "Cannot read IMF CPL\n");
         if (ret == 0)
             ret = AVERROR_INVALIDDATA;
-    } else {
+        goto clean_up;
+    }
+
         LIBXML_TEST_VERSION
 
         filesize = buf.len;
@@ -817,6 +819,7 @@ int ff_imf_parse_cpl(AVIOContext *in, FFIMFCPL **cpl)
                    AV_LOG_ERROR,
                    "XML parsing failed when reading the IMF CPL\n");
             ret = AVERROR_INVALIDDATA;
+            goto clean_up;
         }
 
         if ((ret = ff_imf_parse_cpl_from_xml_dom(doc, cpl))) {
@@ -833,8 +836,8 @@ int ff_imf_parse_cpl(AVIOContext *in, FFIMFCPL **cpl)
         }
 
         xmlFreeDoc(doc);
-    }
 
+clean_up:
     av_bprint_finalize(&buf, NULL);
 
     return ret;



More information about the ffmpeg-cvslog mailing list