summaryrefslogtreecommitdiff
path: root/libavfilter
diff options
context:
space:
mode:
authorHimangi Saraogi <himangi774@gmail.com>2015-04-03 19:46:05 +0530
committerMichael Niedermayer <michaelni@gmx.at>2015-04-03 17:23:45 +0200
commit24326930d87dd7e851c1cc383bc0682d746ffaf8 (patch)
tree5225adc7782d48f94ae4be24d532d381448ccf90 /libavfilter
parentacbb90407a27f72dd238aa035ec3e832015870e7 (diff)
filtfmts: Avoid null pointer dereference
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavfilter')
-rw-r--r--libavfilter/filtfmts.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/libavfilter/filtfmts.c b/libavfilter/filtfmts.c
index c1025b978e..46a2d9447d 100644
--- a/libavfilter/filtfmts.c
+++ b/libavfilter/filtfmts.c
@@ -75,6 +75,7 @@ int main(int argc, char **argv)
const char *filter_name;
const char *filter_args = NULL;
int i;
+ int ret = 0;
av_log_set_level(AV_LOG_DEBUG);
@@ -115,11 +116,21 @@ 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) {
+ fprintf(stderr, "Unable to allocate memory for filter input link\n");
+ ret = 1;
+ goto fail;
+ }
link->type = avfilter_pad_get_type(filter_ctx->input_pads, i);
filter_ctx->inputs[i] = link;
}
for (i = 0; i < filter_ctx->nb_outputs; i++) {
AVFilterLink *link = av_mallocz(sizeof(AVFilterLink));
+ if (!link) {
+ fprintf(stderr, "Unable to allocate memory for filter output link\n");
+ ret = 1;
+ goto fail;
+ }
link->type = avfilter_pad_get_type(filter_ctx->output_pads, i);
filter_ctx->outputs[i] = link;
}
@@ -131,8 +142,9 @@ int main(int argc, char **argv)
print_formats(filter_ctx);
+fail:
avfilter_free(filter_ctx);
avfilter_graph_free(&graph_ctx);
fflush(stdout);
- return 0;
+ return ret;
}