git: 06758ab1340e - main - Use expand_number(3) for less confusing argument processing
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 08 Aug 2024 21:23:16 UTC
The branch main has been updated by phk: URL: https://cgit.FreeBSD.org/src/commit/?id=06758ab1340e652930b573f8fd3d858f064d9204 commit 06758ab1340e652930b573f8fd3d858f064d9204 Author: Poul-Henning Kamp <phk@FreeBSD.org> AuthorDate: 2024-08-08 21:22:39 +0000 Commit: Poul-Henning Kamp <phk@FreeBSD.org> CommitDate: 2024-08-08 21:22:39 +0000 Use expand_number(3) for less confusing argument processing --- usr.bin/tcopy/Makefile | 1 + usr.bin/tcopy/tcopy.c | 10 ++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/usr.bin/tcopy/Makefile b/usr.bin/tcopy/Makefile index 86eb0dd42165..73dcd45b2e0f 100644 --- a/usr.bin/tcopy/Makefile +++ b/usr.bin/tcopy/Makefile @@ -1,3 +1,4 @@ PROG= tcopy +LIBADD= util .include <bsd.prog.mk> diff --git a/usr.bin/tcopy/tcopy.c b/usr.bin/tcopy/tcopy.c index aa39bce77845..39eae4126324 100644 --- a/usr.bin/tcopy/tcopy.c +++ b/usr.bin/tcopy/tcopy.c @@ -37,6 +37,7 @@ #include <err.h> #include <errno.h> #include <fcntl.h> +#include <libutil.h> #include <paths.h> #include <sys/sysctl.h> #include <signal.h> @@ -71,6 +72,7 @@ main(int argc, char *argv[]) const char *inf; unsigned long maxphys = 0; size_t l_maxphys = sizeof maxphys; + uint64_t tmp; if (!sysctlbyname("kern.maxphys", &maxphys, &l_maxphys, NULL, 0)) maxblk = maxphys; @@ -84,8 +86,12 @@ main(int argc, char *argv[]) op = COPYVERIFY; break; case 's': - maxblk = atoi(optarg); - if (maxblk <= 0) { + if (expand_number(optarg, &tmp)) { + warnx("illegal block size"); + usage(); + } + maxblk = tmp; + if (maxblk == 0) { warnx("illegal block size"); usage(); }