mirror of https://git.ffmpeg.org/ffmpeg.git
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. Originally committed as revision 16565 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
7b114c0925
commit
689a5f493b
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue