On Sat, 10 Dec 2016 16:11:15 +0100
Andreas Cadhalpun <andreas.cadhal...@googlemail.com> wrote:

> Signed-off-by: Andreas Cadhalpun <andreas.cadhal...@googlemail.com>
> ---
>  libavutil/opt.c | 10 +++++++++-
>  1 file changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/libavutil/opt.c b/libavutil/opt.c
> index f855ccb..f713d3f 100644
> --- a/libavutil/opt.c
> +++ b/libavutil/opt.c
> @@ -32,6 +32,7 @@
>  #include "common.h"
>  #include "dict.h"
>  #include "eval.h"
> +#include "imgutils.h"
>  #include "log.h"
>  #include "parseutils.h"
>  #include "pixdesc.h"
> @@ -325,8 +326,15 @@ static int set_string_image_size(void *obj, const 
> AVOption *o, const char *val,
>          return 0;
>      }
>      ret = av_parse_video_size(dst, dst + 1, val);
> -    if (ret < 0)
> +    if (ret < 0) {
>          av_log(obj, AV_LOG_ERROR, "Unable to parse option value \"%s\" as 
> image size\n", val);
> +        return ret;
> +    }
> +    ret = av_image_check_size(*dst, *(dst + 1), 0, obj);
> +    if (ret < 0) {
> +        *dst = 0;
> +        *(dst + 1) = 0;
> +    }
>      return ret;
>  }
>  

I'd argue that rather than doing this, image allocation functions etc.
should error out if the dimensions are too large.

This way the allowed dimensions could be enlarged (e.g. by taking the
pixel format into account) without changing everything from int to
size_t.
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to