---
This fixes CID 1292529.

 libavfilter/filtfmts.c | 28 ++++++++++++++++++----------
 1 file changed, 18 insertions(+), 10 deletions(-)

diff --git a/libavfilter/filtfmts.c b/libavfilter/filtfmts.c
index 40649c7..2fb083f 100644
--- a/libavfilter/filtfmts.c
+++ b/libavfilter/filtfmts.c
@@ -74,11 +74,15 @@ int main(int argc, char **argv)
     /* create a link for each of the input pads */
     for (i = 0; i < filter_ctx->nb_inputs; i++) {
         AVFilterLink *link = av_mallocz(sizeof(AVFilterLink));
+        if (!link)
+            continue;
         link->type = avfilter_pad_get_type(filter_ctx->filter->inputs, i);
         filter_ctx->inputs[i] = link;
     }
     for (i = 0; i < filter_ctx->nb_outputs; i++) {
         AVFilterLink *link = av_mallocz(sizeof(AVFilterLink));
+        if (!link)
+            continue;
         link->type = avfilter_pad_get_type(filter_ctx->filter->outputs, i);
         filter_ctx->outputs[i] = link;
     }
@@ -90,20 +94,24 @@ int main(int argc, char **argv)
 
     /* print the supported formats in input */
     for (i = 0; i < filter_ctx->nb_inputs; i++) {
-        AVFilterFormats *fmts = filter_ctx->inputs[i]->out_formats;
-        for (j = 0; j < fmts->nb_formats; j++)
-            printf("INPUT[%d] %s: %s\n",
-                   i, avfilter_pad_get_name(filter_ctx->filter->inputs, i),
-                   av_get_pix_fmt_name(fmts->formats[j]));
+        if (filter_ctx->inputs[i]) {
+            AVFilterFormats *fmts = filter_ctx->inputs[i]->out_formats;
+            for (j = 0; j < fmts->nb_formats; j++)
+                printf("INPUT[%d] %s: %s\n",
+                       i, avfilter_pad_get_name(filter_ctx->filter->inputs, i),
+                       av_get_pix_fmt_name(fmts->formats[j]));
+        }
     }
 
     /* print the supported formats in output */
     for (i = 0; i < filter_ctx->nb_outputs; i++) {
-        AVFilterFormats *fmts = filter_ctx->outputs[i]->in_formats;
-        for (j = 0; j < fmts->nb_formats; j++)
-            printf("OUTPUT[%d] %s: %s\n",
-                   i, avfilter_pad_get_name(filter_ctx->filter->outputs, i),
-                   av_get_pix_fmt_name(fmts->formats[j]));
+        if (filter_ctx->outputs[i]) {
+            AVFilterFormats *fmts = filter_ctx->outputs[i]->in_formats;
+            for (j = 0; j < fmts->nb_formats; j++)
+                printf("OUTPUT[%d] %s: %s\n",
+                       i, avfilter_pad_get_name(filter_ctx->filter->outputs, 
i),
+                       av_get_pix_fmt_name(fmts->formats[j]));
+        }
     }
 
     avfilter_free(filter_ctx);
-- 
1.9.1

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to