From: Jens Axboe Date: Wed, 10 Jan 2007 12:41:26 +0000 (+0100) Subject: [PATCH] Be strict in checking option ranges X-Git-Tag: fio-1.12~170^2 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=db8e0165bd86c5a4e9909b846acdbd5b22d263b1;p=fio.git [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 --- 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);