* [FFmpeg-devel] [PATCH] avformat/tests/imf: Test ff_imf_parse_cpl_from_xml_dom cleanup on error
@ 2022-08-25 20:57 Andreas Rheinhardt
2022-08-26 4:02 ` Pierre-Anthony Lemieux
0 siblings, 1 reply; 4+ messages in thread
From: Andreas Rheinhardt @ 2022-08-25 20:57 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Andreas Rheinhardt
Improves the test; also should fix Coverity issue #1512408.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
libavformat/tests/imf.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/libavformat/tests/imf.c b/libavformat/tests/imf.c
index e65629ccbc..a7b2ed3b4d 100644
--- a/libavformat/tests/imf.c
+++ b/libavformat/tests/imf.c
@@ -338,10 +338,9 @@ static int test_cpl_parsing(void)
return 0;
}
-static int test_bad_cpl_parsing(void)
+static int test_bad_cpl_parsing(FFIMFCPL **cpl)
{
xmlDocPtr doc;
- FFIMFCPL *cpl;
int ret;
doc = xmlReadMemory(cpl_bad_doc, strlen(cpl_bad_doc), NULL, NULL, 0);
@@ -350,7 +349,7 @@ static int test_bad_cpl_parsing(void)
return 1;
}
- ret = ff_imf_parse_cpl_from_xml_dom(doc, &cpl);
+ ret = ff_imf_parse_cpl_from_xml_dom(doc, cpl);
xmlFreeDoc(doc);
if (ret) {
printf("CPL parsing failed.\n");
@@ -506,6 +505,7 @@ fail:
int main(int argc, char *argv[])
{
+ FFIMFCPL *cpl;
int ret = 0;
if (test_cpl_parsing() != 0)
@@ -518,8 +518,10 @@ int main(int argc, char *argv[])
ret = 1;
printf("#### The following should fail ####\n");
- if (test_bad_cpl_parsing() == 0)
+ if (test_bad_cpl_parsing(&cpl) == 0)
ret = 1;
+ else if (cpl)
+ printf("Improper cleanup after failed CPL parsing\n");
printf("#### End failing test ####\n");
return ret;
--
2.34.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] 4+ messages in thread
* Re: [FFmpeg-devel] [PATCH] avformat/tests/imf: Test ff_imf_parse_cpl_from_xml_dom cleanup on error
2022-08-25 20:57 [FFmpeg-devel] [PATCH] avformat/tests/imf: Test ff_imf_parse_cpl_from_xml_dom cleanup on error Andreas Rheinhardt
@ 2022-08-26 4:02 ` Pierre-Anthony Lemieux
2022-08-26 8:22 ` Andreas Rheinhardt
0 siblings, 1 reply; 4+ messages in thread
From: Pierre-Anthony Lemieux @ 2022-08-26 4:02 UTC (permalink / raw)
To: FFmpeg development discussions and patches; +Cc: Andreas Rheinhardt
On Thu, Aug 25, 2022 at 1:58 PM Andreas Rheinhardt
<andreas.rheinhardt@outlook.com> wrote:
>
> Improves the test; also should fix Coverity issue #1512408.
>
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
> ---
> libavformat/tests/imf.c | 10 ++++++----
> 1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/libavformat/tests/imf.c b/libavformat/tests/imf.c
> index e65629ccbc..a7b2ed3b4d 100644
> --- a/libavformat/tests/imf.c
> +++ b/libavformat/tests/imf.c
> @@ -338,10 +338,9 @@ static int test_cpl_parsing(void)
> return 0;
> }
>
> -static int test_bad_cpl_parsing(void)
> +static int test_bad_cpl_parsing(FFIMFCPL **cpl)
> {
> xmlDocPtr doc;
> - FFIMFCPL *cpl;
> int ret;
>
> doc = xmlReadMemory(cpl_bad_doc, strlen(cpl_bad_doc), NULL, NULL, 0);
> @@ -350,7 +349,7 @@ static int test_bad_cpl_parsing(void)
> return 1;
> }
>
> - ret = ff_imf_parse_cpl_from_xml_dom(doc, &cpl);
> + ret = ff_imf_parse_cpl_from_xml_dom(doc, cpl);
> xmlFreeDoc(doc);
> if (ret) {
> printf("CPL parsing failed.\n");
> @@ -506,6 +505,7 @@ fail:
>
> int main(int argc, char *argv[])
> {
> + FFIMFCPL *cpl;
> int ret = 0;
>
> if (test_cpl_parsing() != 0)
> @@ -518,8 +518,10 @@ int main(int argc, char *argv[])
> ret = 1;
>
> printf("#### The following should fail ####\n");
> - if (test_bad_cpl_parsing() == 0)
> + if (test_bad_cpl_parsing(&cpl) == 0)
> ret = 1;
> + else if (cpl)
> + printf("Improper cleanup after failed CPL parsing\n");
Shouldn't `ret` be set to 1 here as well?
> printf("#### End failing test ####\n");
>
> return ret;
> --
> 2.34.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".
_______________________________________________
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] 4+ messages in thread
* Re: [FFmpeg-devel] [PATCH] avformat/tests/imf: Test ff_imf_parse_cpl_from_xml_dom cleanup on error
2022-08-26 4:02 ` Pierre-Anthony Lemieux
@ 2022-08-26 8:22 ` Andreas Rheinhardt
2022-08-26 15:45 ` Pierre-Anthony Lemieux
0 siblings, 1 reply; 4+ messages in thread
From: Andreas Rheinhardt @ 2022-08-26 8:22 UTC (permalink / raw)
To: Pierre-Anthony Lemieux, FFmpeg development discussions and patches
Pierre-Anthony Lemieux:
> On Thu, Aug 25, 2022 at 1:58 PM Andreas Rheinhardt
> <andreas.rheinhardt@outlook.com> wrote:
>>
>> Improves the test; also should fix Coverity issue #1512408.
>>
>> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
>> ---
>> libavformat/tests/imf.c | 10 ++++++----
>> 1 file changed, 6 insertions(+), 4 deletions(-)
>>
>> diff --git a/libavformat/tests/imf.c b/libavformat/tests/imf.c
>> index e65629ccbc..a7b2ed3b4d 100644
>> --- a/libavformat/tests/imf.c
>> +++ b/libavformat/tests/imf.c
>> @@ -338,10 +338,9 @@ static int test_cpl_parsing(void)
>> return 0;
>> }
>>
>> -static int test_bad_cpl_parsing(void)
>> +static int test_bad_cpl_parsing(FFIMFCPL **cpl)
>> {
>> xmlDocPtr doc;
>> - FFIMFCPL *cpl;
>> int ret;
>>
>> doc = xmlReadMemory(cpl_bad_doc, strlen(cpl_bad_doc), NULL, NULL, 0);
>> @@ -350,7 +349,7 @@ static int test_bad_cpl_parsing(void)
>> return 1;
>> }
>>
>> - ret = ff_imf_parse_cpl_from_xml_dom(doc, &cpl);
>> + ret = ff_imf_parse_cpl_from_xml_dom(doc, cpl);
>> xmlFreeDoc(doc);
>> if (ret) {
>> printf("CPL parsing failed.\n");
>> @@ -506,6 +505,7 @@ fail:
>>
>> int main(int argc, char *argv[])
>> {
>> + FFIMFCPL *cpl;
>> int ret = 0;
>>
>> if (test_cpl_parsing() != 0)
>> @@ -518,8 +518,10 @@ int main(int argc, char *argv[])
>> ret = 1;
>>
>> printf("#### The following should fail ####\n");
>> - if (test_bad_cpl_parsing() == 0)
>> + if (test_bad_cpl_parsing(&cpl) == 0)
>> ret = 1;
>> + else if (cpl)
>> + printf("Improper cleanup after failed CPL parsing\n");
>
> Shouldn't `ret` be set to 1 here as well?
>
Will do. (When run as part of FATE, the test would nevertheless fail,
because the ref file does not contain the "Improper cleanup" line.)
>> printf("#### End failing test ####\n");
>>
>> return ret;
>> --
>> 2.34.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] 4+ messages in thread
* Re: [FFmpeg-devel] [PATCH] avformat/tests/imf: Test ff_imf_parse_cpl_from_xml_dom cleanup on error
2022-08-26 8:22 ` Andreas Rheinhardt
@ 2022-08-26 15:45 ` Pierre-Anthony Lemieux
0 siblings, 0 replies; 4+ messages in thread
From: Pierre-Anthony Lemieux @ 2022-08-26 15:45 UTC (permalink / raw)
To: Andreas Rheinhardt; +Cc: FFmpeg development discussions and patches
On Fri, Aug 26, 2022 at 1:22 AM Andreas Rheinhardt
<andreas.rheinhardt@outlook.com> wrote:
>
> Pierre-Anthony Lemieux:
> > On Thu, Aug 25, 2022 at 1:58 PM Andreas Rheinhardt
> > <andreas.rheinhardt@outlook.com> wrote:
> >>
> >> Improves the test; also should fix Coverity issue #1512408.
> >>
> >> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
> >> ---
> >> libavformat/tests/imf.c | 10 ++++++----
> >> 1 file changed, 6 insertions(+), 4 deletions(-)
> >>
> >> diff --git a/libavformat/tests/imf.c b/libavformat/tests/imf.c
> >> index e65629ccbc..a7b2ed3b4d 100644
> >> --- a/libavformat/tests/imf.c
> >> +++ b/libavformat/tests/imf.c
> >> @@ -338,10 +338,9 @@ static int test_cpl_parsing(void)
> >> return 0;
> >> }
> >>
> >> -static int test_bad_cpl_parsing(void)
> >> +static int test_bad_cpl_parsing(FFIMFCPL **cpl)
> >> {
> >> xmlDocPtr doc;
> >> - FFIMFCPL *cpl;
> >> int ret;
> >>
> >> doc = xmlReadMemory(cpl_bad_doc, strlen(cpl_bad_doc), NULL, NULL, 0);
> >> @@ -350,7 +349,7 @@ static int test_bad_cpl_parsing(void)
> >> return 1;
> >> }
> >>
> >> - ret = ff_imf_parse_cpl_from_xml_dom(doc, &cpl);
> >> + ret = ff_imf_parse_cpl_from_xml_dom(doc, cpl);
> >> xmlFreeDoc(doc);
> >> if (ret) {
> >> printf("CPL parsing failed.\n");
> >> @@ -506,6 +505,7 @@ fail:
> >>
> >> int main(int argc, char *argv[])
> >> {
> >> + FFIMFCPL *cpl;
> >> int ret = 0;
> >>
> >> if (test_cpl_parsing() != 0)
> >> @@ -518,8 +518,10 @@ int main(int argc, char *argv[])
> >> ret = 1;
> >>
> >> printf("#### The following should fail ####\n");
> >> - if (test_bad_cpl_parsing() == 0)
> >> + if (test_bad_cpl_parsing(&cpl) == 0)
> >> ret = 1;
> >> + else if (cpl)
> >> + printf("Improper cleanup after failed CPL parsing\n");
> >
> > Shouldn't `ret` be set to 1 here as well?
> >
>
> Will do. (When run as part of FATE, the test would nevertheless fail,
> because the ref file does not contain the "Improper cleanup" line.)
Thanks, and yes.
>
> >> printf("#### End failing test ####\n");
> >>
> >> return ret;
> >> --
> >> 2.34.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] 4+ messages in thread
end of thread, other threads:[~2022-08-26 15:46 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-25 20:57 [FFmpeg-devel] [PATCH] avformat/tests/imf: Test ff_imf_parse_cpl_from_xml_dom cleanup on error Andreas Rheinhardt
2022-08-26 4:02 ` Pierre-Anthony Lemieux
2022-08-26 8:22 ` Andreas Rheinhardt
2022-08-26 15:45 ` 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