@@ -402,6 +402,9 @@ static int test_bad_cpl_parsing(FFIMFCPL **cpl)
return ret;
}
+ ff_imf_cpl_free(*cpl);
+ *cpl = NULL;
+
return 0;
}
@@ -423,6 +426,9 @@ static int test_bad_resource_cpl_parsing(FFIMFCPL **cpl)
return ret;
}
+ ff_imf_cpl_free(*cpl);
+ *cpl = NULL;
+
return 0;
}
@@ -594,8 +600,12 @@ int main(int argc, char *argv[])
printf("#### End failing test ####\n");
printf("#### The following should emit errors ####\n");
- if (test_bad_resource_cpl_parsing(&cpl) != 0)
+ if (test_bad_resource_cpl_parsing(&cpl) != 0) {
+ ret = 1;
+ } else if (cpl) {
+ printf("Improper cleanup after failed CPL parsing\n");
ret = 1;
+ }
printf("#### End emission of errors ####\n");
return ret;
From: Pierre-Anthony Lemieux <pal@palemieux.com> --- libavformat/tests/imf.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-)