diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2015-05-03 16:14:55 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2015-05-03 16:37:04 +0200 |
commit | 52835cb8e16cd54bd4b3052279f184882cbf54c2 (patch) | |
tree | d9a2f6b95864f6be8c90a374e17afbb5a365a50f /libavutil/opt.c | |
parent | a141948a8be73546c1e684c6a1e37a11f2237c76 (diff) | |
download | ffmpeg-52835cb8e16cd54bd4b3052279f184882cbf54c2.tar.gz |
avutil/opt: Avoid division by 0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavutil/opt.c')
-rw-r--r-- | libavutil/opt.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libavutil/opt.c b/libavutil/opt.c index 092446b02b..62db1b50b7 100644 --- a/libavutil/opt.c +++ b/libavutil/opt.c @@ -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 && (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", - num*intnum/den, o->name, o->min, o->max); + num, o->name, o->min, o->max); return AVERROR(ERANGE); } if (o->type == AV_OPT_TYPE_FLAGS) { |