[FFmpeg-devel] [PATCH] avfilter/vf_lenscorrection: add assert to ensure there are not more planes than the correction array is large
danieloberhoff at gmail.com
Thu Aug 21 13:53:28 CEST 2014
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?
More information about the ffmpeg-devel