* [FFmpeg-devel] [PATCH v1] avformat/imf: fix CPL parsing error handling
@ 2022-01-04 6:10 pal
2022-01-05 0:58 ` Zane van Iperen
0 siblings, 1 reply; 3+ messages in thread
From: pal @ 2022-01-04 6:10 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Pierre-Anthony Lemieux
From: Pierre-Anthony Lemieux <pal@palemieux.com>
Signed-off-by: Pierre-Anthony Lemieux <pal@palemieux.com>
---
libavformat/imf_cpl.c | 51 +++++++++++++++++++++++--------------------
1 file changed, 27 insertions(+), 24 deletions(-)
diff --git a/libavformat/imf_cpl.c b/libavformat/imf_cpl.c
index 167244a5a2..72fc7ffec8 100644
--- a/libavformat/imf_cpl.c
+++ b/libavformat/imf_cpl.c
@@ -807,34 +807,37 @@ 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 {
- LIBXML_TEST_VERSION
-
- filesize = buf.len;
- doc = xmlReadMemory(buf.str, filesize, NULL, NULL, 0);
- if (!doc) {
- av_log(NULL,
- 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))) {
- av_log(NULL, AV_LOG_ERROR, "Cannot parse IMF CPL\n");
- } else {
- av_log(NULL,
- AV_LOG_INFO,
- "IMF CPL ContentTitle: %s\n",
- (*cpl)->content_title_utf8);
- av_log(NULL,
- AV_LOG_INFO,
- "IMF CPL Id: " FF_IMF_UUID_FORMAT "\n",
- UID_ARG((*cpl)->id_uuid));
- }
+ LIBXML_TEST_VERSION
- xmlFreeDoc(doc);
+ filesize = buf.len;
+ doc = xmlReadMemory(buf.str, filesize, NULL, NULL, 0);
+ if (!doc) {
+ av_log(NULL,
+ 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))) {
+ av_log(NULL, AV_LOG_ERROR, "Cannot parse IMF CPL\n");
+ } else {
+ av_log(NULL,
+ AV_LOG_INFO,
+ "IMF CPL ContentTitle: %s\n",
+ (*cpl)->content_title_utf8);
+ av_log(NULL,
+ AV_LOG_INFO,
+ "IMF CPL Id: " FF_IMF_UUID_FORMAT "\n",
+ UID_ARG((*cpl)->id_uuid));
+ }
+
+ xmlFreeDoc(doc);
+
+clean_up:
av_bprint_finalize(&buf, NULL);
return ret;
--
2.17.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [FFmpeg-devel] [PATCH v1] avformat/imf: fix CPL parsing error handling
2022-01-04 6:10 [FFmpeg-devel] [PATCH v1] avformat/imf: fix CPL parsing error handling pal
@ 2022-01-05 0:58 ` Zane van Iperen
2022-01-05 2:44 ` Pierre-Anthony Lemieux
0 siblings, 1 reply; 3+ messages in thread
From: Zane van Iperen @ 2022-01-05 0:58 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Pierre-Anthony Lemieux
On 4/1/22 16:10, pal@sandflow.com wrote:
> From: Pierre-Anthony Lemieux <pal@palemieux.com>
>
> Signed-off-by: Pierre-Anthony Lemieux <pal@palemieux.com>
> ---
> libavformat/imf_cpl.c | 51 +++++++++++++++++++++++--------------------
> 1 file changed, 27 insertions(+), 24 deletions(-)
Could you please resend this as two separate commits? One with the change, one
with the re-indenting? It makes it easier to review (and bisect) in the future.
For reference, the effective change is:
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;
> + av_log(NULL,
> + AV_LOG_INFO,
> + "IMF CPL Id: " FF_IMF_UUID_FORMAT "\n",
> + UID_ARG((*cpl)->id_uuid));
> + }
> +
> + xmlFreeDoc(doc);
> +
Trailing whitespace here.
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [FFmpeg-devel] [PATCH v1] avformat/imf: fix CPL parsing error handling
2022-01-05 0:58 ` Zane van Iperen
@ 2022-01-05 2:44 ` Pierre-Anthony Lemieux
0 siblings, 0 replies; 3+ messages in thread
From: Pierre-Anthony Lemieux @ 2022-01-05 2:44 UTC (permalink / raw)
To: Zane van Iperen; +Cc: FFmpeg development discussions and patches
On Tue, Jan 4, 2022 at 4:58 PM Zane van Iperen <zane@zanevaniperen.com> wrote:
>
>
>
> On 4/1/22 16:10, pal@sandflow.com wrote:
> > From: Pierre-Anthony Lemieux <pal@palemieux.com>
> >
> > Signed-off-by: Pierre-Anthony Lemieux <pal@palemieux.com>
> > ---
> > libavformat/imf_cpl.c | 51 +++++++++++++++++++++++--------------------
> > 1 file changed, 27 insertions(+), 24 deletions(-)
>
> Could you please resend this as two separate commits? One with the change, one
> with the re-indenting? It makes it easier to review (and bisect) in the future.
Ok. Got it. See v2 at:
http://ffmpeg.org/pipermail/ffmpeg-devel/2022-January/290840.html
>
> For reference, the effective change is:
>
> 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;
>
>
> > + av_log(NULL,
> > + AV_LOG_INFO,
> > + "IMF CPL Id: " FF_IMF_UUID_FORMAT "\n",
> > + UID_ARG((*cpl)->id_uuid));
> > + }
> > +
> > + xmlFreeDoc(doc);
> > +
>
> Trailing whitespace here.
>
>
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2022-01-05 2:44 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-04 6:10 [FFmpeg-devel] [PATCH v1] avformat/imf: fix CPL parsing error handling pal
2022-01-05 0:58 ` Zane van Iperen
2022-01-05 2:44 ` Pierre-Anthony Lemieux
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
This inbox may be cloned and mirrored by anyone:
git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
ffmpegdev@gitmailbox.com
public-inbox-index ffmpegdev
Example config snippet for mirrors.
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git