[FFmpeg-devel] [PATCH] avfilter/vf_lenscorrection: add assert to ensure there are not more planes than the correction array is large
Daniel Oberhoff
danieloberhoff at gmail.com
Thu Aug 21 13:54:16 CEST 2014
---
Daniel Oberhoff
daniel.oberhoff at gmail.com
On Aug 21, 2014, at 1:53 PM, Daniel Oberhoff <daniel.oberhoff at gmail.com> wrote:
>
> ---
> Daniel Oberhoff
> daniel.oberhoff at gmail.com
>
>
>
> On Aug 21, 2014, at 1:52 PM, Michael Niedermayer <michaelni at gmx.at> wrote:
>
>> On Thu, Aug 21, 2014 at 12:57:08PM +0200, Daniel Oberhoff wrote:
>>>
>>> ---
>>> Daniel Oberhoff
>>> daniel.oberhoff at gmail.com
>>>
>>>
>>>
>>> On Aug 21, 2014, at 12:34 PM, Michael Niedermayer <michaelni at gmx.at> wrote:
>>>
>>>> Exceeding the count would write out of array, and should not occur with any
>>>> current pixel format
>>>>
>>>> Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
>>>> ---
>>>> libavfilter/vf_lenscorrection.c | 3 +++
>>>> 1 file changed, 3 insertions(+)
>>>>
>>>> diff --git a/libavfilter/vf_lenscorrection.c b/libavfilter/vf_lenscorrection.c
>>>> index 58184b0..01380fc 100644
>>>> --- a/libavfilter/vf_lenscorrection.c
>>>> +++ b/libavfilter/vf_lenscorrection.c
>>>> @@ -26,6 +26,7 @@
>>>> #include <stdlib.h>
>>>> #include <math.h>
>>>>
>>>> +#include "libavutil/avassert.h"
>>>> #include "libavutil/opt.h"
>>>> #include "libavutil/intreadwrite.h"
>>>> #include "libavutil/pixdesc.h"
>>>> @@ -132,6 +133,8 @@ static int config_props(AVFilterLink *outlink)
>>>> outlink->w = rect->width = inlink->w;
>>>> outlink->h = rect->height = inlink->h;
>>>> rect->nb_planes = av_pix_fmt_count_planes(inlink->format);
>>>> + av_assert0(rect->nb_planes <= FF_ARRAY_ELEMS(rect->correction));
>>>
>>> how many planes can there ever be?
>>
>> I think the current pixel formats dont have more than 4 but
>> things like CMYKA would have 5, and formats could contain more planes
>> in principle, we dont support such stuff ATM but cameras exist that
>> record infrared in addition to vissible inforation. for example
>
> But this data only comes from another part of ffmpeg, right? Should then there not be some kind of config macro or such along FF_MAX_NUM_PLANES?
Or how about doing alloc/realloc instead?
More information about the ffmpeg-devel
mailing list