Commit 52835cb8 authored by Michael Niedermayer's avatar Michael Niedermayer

avutil/opt: Avoid division by 0

Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent a141948a
...@@ -85,8 +85,9 @@ static int write_number(void *obj, const AVOption *o, void *dst, double num, int ...@@ -85,8 +85,9 @@ static int write_number(void *obj, const AVOption *o, void *dst, double num, int
{ {
if (o->type != AV_OPT_TYPE_FLAGS && if (o->type != AV_OPT_TYPE_FLAGS &&
(o->max * den < num * intnum || o->min * den > num * intnum)) { (o->max * den < num * intnum || o->min * den > num * intnum)) {
num = den ? num*intnum/den : (num*intnum ? INFINITY : NAN);
av_log(obj, AV_LOG_ERROR, "Value %f for parameter '%s' out of range [%g - %g]\n", av_log(obj, AV_LOG_ERROR, "Value %f for parameter '%s' out of range [%g - %g]\n",
num*intnum/den, o->name, o->min, o->max); num, o->name, o->min, o->max);
return AVERROR(ERANGE); return AVERROR(ERANGE);
} }
if (o->type == AV_OPT_TYPE_FLAGS) { if (o->type == AV_OPT_TYPE_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