X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=parse.c;h=c4fd4626df9f581eb100894a8380d1fef61a0ca8;hb=4c29a34fcc8cae333ec8b7af7657495745153b44;hp=9a20d0c778260bc9ee5b2b3387c4fcb851c4ca0f;hpb=5d2788d5b7987f81e705cd1656017ab36254b4f8;p=fio.git diff --git a/parse.c b/parse.c index 9a20d0c7..c4fd4626 100644 --- a/parse.c +++ b/parse.c @@ -513,9 +513,9 @@ static bool val_too_large(const struct fio_option *o, unsigned long long val, return false; if (is_uint) { - unsigned int uint_val = val; - - return uint_val > o->maxval; + if ((int) val < 0) + return (int) val > (int) o->maxval; + return (unsigned int) val > o->maxval; } return val > o->maxval; @@ -527,11 +527,8 @@ static bool val_too_small(const struct fio_option *o, unsigned long long val, if (!o->minval) return false; - if (is_uint) { - unsigned int uint_val = val; - - return uint_val < o->minval; - } + if (is_uint) + return (int) val < o->minval; return val < o->minval; } @@ -605,8 +602,7 @@ static int __handle_option(const struct fio_option *o, const char *ptr, if (!is_time && o->is_time) is_time = o->is_time; - tmp[sizeof(tmp) - 1] = '\0'; - strncpy(tmp, ptr, sizeof(tmp) - 1); + snprintf(tmp, sizeof(tmp), "%s", ptr); p = strchr(tmp, ','); if (p) *p = '\0'; @@ -832,8 +828,7 @@ static int __handle_option(const struct fio_option *o, const char *ptr, char tmp[128]; char *p1, *p2; - tmp[sizeof(tmp) - 1] = '\0'; - strncpy(tmp, ptr, sizeof(tmp) - 1); + snprintf(tmp, sizeof(tmp), "%s", ptr); /* Handle bsrange with separate read,write values: */ p1 = strchr(tmp, ',');