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. */