Commit 1071fca8 authored by stefano's avatar stefano

Make avfilter_open() set to NULL the pads and the filters when the

corresponding count is zero, rather than allocate a 16 bytes sized
block for them. Improve safety.


git-svn-id: file:///var/local/repositories/ffmpeg/trunk@16565 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
parent cb167377
......@@ -341,7 +341,7 @@ AVFilterContext *avfilter_open(AVFilter *filter, const char *inst_name)
if (!filter)
return 0;
ret = av_malloc(sizeof(AVFilterContext));
ret = av_mallocz(sizeof(AVFilterContext));
ret->av_class = &avfilter_class;
ret->filter = filter;
......@@ -349,14 +349,18 @@ AVFilterContext *avfilter_open(AVFilter *filter, const char *inst_name)
ret->priv = av_mallocz(filter->priv_size);
ret->input_count = pad_count(filter->inputs);
if (ret->input_count) {
ret->input_pads = av_malloc(sizeof(AVFilterPad) * ret->input_count);
memcpy(ret->input_pads, filter->inputs, sizeof(AVFilterPad)*ret->input_count);
ret->inputs = av_mallocz(sizeof(AVFilterLink*) * ret->input_count);
}
ret->output_count = pad_count(filter->outputs);
if (ret->output_count) {
ret->output_pads = av_malloc(sizeof(AVFilterPad) * ret->output_count);
memcpy(ret->output_pads, filter->outputs, sizeof(AVFilterPad)*ret->output_count);
ret->outputs = av_mallocz(sizeof(AVFilterLink*) * ret->output_count);
}
return ret;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment