lavu/opt: fix range check logic in set_format()
authorStefano Sabatini <stefasab@gmail.com>
Mon, 16 Dec 2013 13:17:50 +0000 (14:17 +0100)
committerStefano Sabatini <stefasab@gmail.com>
Thu, 26 Dec 2013 10:35:26 +0000 (11:35 +0100)
In particular, allow to reject undefined values. Previously the code
was only accepting values in the range -1 .. NB_FORMATS-1.

libavutil/opt.c

index 0c7f442bc8d3969fabce3d56088cd6ef3014949f..723b443a16e2f50e8802daebf35daa619b9860c9 100644 (file)
@@ -559,8 +559,8 @@ static int set_format(void *obj, const char *name, int fmt, int search_flags,
     } else
 #endif
     {
     } else
 #endif
     {
-        min = FFMIN(o->min, -1);
-        max = FFMAX(o->max, nb_fmts-1);
+        min = FFMAX(o->min, -1);
+        max = FFMIN(o->max, nb_fmts-1);
     }
     if (fmt < min || fmt > max) {
         av_log(obj, AV_LOG_ERROR,
     }
     if (fmt < min || fmt > max) {
         av_log(obj, AV_LOG_ERROR,