[FFmpeg-devel] [PATCH] opt: check image size when setting it
wm4
nfxjfg at googlemail.com
Sat Dec 10 17:26:04 EET 2016
On Sat, 10 Dec 2016 16:11:15 +0100
Andreas Cadhalpun <andreas.cadhalpun at googlemail.com> wrote:
> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun at 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.
More information about the ffmpeg-devel
mailing list