From 9e8e03de38b3deb6bee546a37e1a3ff05cf5f746 Mon Sep 17 00:00:00 2001 From: Nicolas George Date: Sat, 13 Apr 2013 11:46:56 +0200 Subject: lavu/opt: check int lists length for overflow. Also add parens on macro arguments. --- libavutil/opt.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'libavutil/opt.h') diff --git a/libavutil/opt.h b/libavutil/opt.h index e368259455..7f7b54e708 100644 --- a/libavutil/opt.h +++ b/libavutil/opt.h @@ -668,8 +668,10 @@ int av_opt_set_video_rate(void *obj, const char *name, AVRational val, int searc * @param flags search flags */ #define av_opt_set_int_list(obj, name, val, term, flags) \ - av_opt_set_bin(obj, name, (const uint8_t *)val, \ - av_int_list_length(val, term) * sizeof(*val), flags) + (av_int_list_length(val, term) > INT_MAX / sizeof(*(val)) ? \ + AVERROR(EINVAL) : \ + av_opt_set_bin(obj, name, (const uint8_t *)(val), \ + av_int_list_length(val, term) * sizeof(*(val)), flags)) /** * @} */ -- cgit v1.2.3