Commit 9e8e03de authored by Nicolas George's avatar Nicolas George

lavu/opt: check int lists length for overflow.

Also add parens on macro arguments.
parent 2a1d7ea5
...@@ -668,8 +668,10 @@ int av_opt_set_video_rate(void *obj, const char *name, AVRational val, int searc ...@@ -668,8 +668,10 @@ int av_opt_set_video_rate(void *obj, const char *name, AVRational val, int searc
* @param flags search flags * @param flags search flags
*/ */
#define av_opt_set_int_list(obj, name, val, term, 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) > INT_MAX / sizeof(*(val)) ? \
av_int_list_length(val, term) * sizeof(*val), flags) AVERROR(EINVAL) : \
av_opt_set_bin(obj, name, (const uint8_t *)(val), \
av_int_list_length(val, term) * sizeof(*(val)), flags))
/** /**
* @} * @}
*/ */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment