Hi tech@,

disklabel shows a warning at build time which might be important.
Following diff will surpass the warning.

===================================================================
RCS file: /cvs/src/sbin/disklabel/editor.c,v
retrieving revision 1.368
diff -u -p -r1.368 editor.c
--- editor.c    2021/05/30 19:02:30     1.368
+++ editor.c    2021/06/23 19:25:45
@@ -2418,7 +2418,7 @@ apply_unit(double val, u_char unit, u_int64_t *n)
        }
 
        val *= factor / DEV_BSIZE;
-       if (val > ULLONG_MAX)
+       if (val != (double)(u_int64_t)val)
                return (-1);
        *n = val;
        return (0);
@@ -2429,7 +2429,7 @@ parse_sizespec(const char *buf, double *val, char **un
 {
        errno = 0;
        *val = strtod(buf, unit);
-       if (errno == ERANGE || *val < 0 || *val > ULLONG_MAX)
+       if (errno == ERANGE || *val < 0 || *val != (double)(u_int64_t)*val)
                return (-1);    /* too big/small */
        if (*val == 0 && *unit == buf)
                return (-1);    /* No conversion performed. */

Reply via email to