From db8e0165bd86c5a4e9909b846acdbd5b22d263b1 Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Wed, 10 Jan 2007 13:41:26 +0100 Subject: [PATCH] [PATCH] Be strict in checking option ranges Fail if given value falls outside of range instead of adjusting it automatically. Signed-off-by: Jens Axboe --- parse.c | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/parse.c b/parse.c index abe0653b..1e709ddb 100644 --- a/parse.c +++ b/parse.c @@ -180,10 +180,14 @@ static int __handle_option(struct fio_option *o, const char *ptr, void *data, if (ret) break; - if (o->maxval && ull > o->maxval) - ull = o->maxval; - if (o->minval && ull < o->minval) - ull = o->minval; + if (o->maxval && ull > o->maxval) { + fprintf(stderr, "max value out of range: %lld (%d max)\n", ull, o->maxval); + return 1; + } + if (o->minval && ull < o->minval) { + fprintf(stderr, "min value out of range: %lld (%d min)\n", ull, o->minval); + return 1; + } if (fn) ret = fn(data, &ull); @@ -252,10 +256,14 @@ static int __handle_option(struct fio_option *o, const char *ptr, void *data, if (ret) break; - if (o->maxval && il > (int) o->maxval) - il = o->maxval; - if (o->minval && il < o->minval) - il = o->minval; + if (o->maxval && il > (int) o->maxval) { + fprintf(stderr, "max value out of range: %d (%d max)\n", il, o->maxval); + return 1; + } + if (o->minval && il < o->minval) { + fprintf(stderr, "min value out of range: %d (%d min)\n", il, o->minval); + return 1; + } if (fn) ret = fn(data, &il); -- 2.25.1