diff options
| author | Mark Johnston <markj@FreeBSD.org> | 2020-09-15 13:36:19 +0000 |
|---|---|---|
| committer | Mark Johnston <markj@FreeBSD.org> | 2020-09-15 13:36:19 +0000 |
| commit | c6dce83da8607c8c8e9a3e2fcea9a16816204371 (patch) | |
| tree | e0533cf7c99d060ef8a0ad2c0df0222560031224 /usr.bin/posixshmcontrol/posixshmcontrol.c | |
| parent | 1d2a0dce332134ed6f5af0e2048dc904c62900d9 (diff) | |
Notes
Diffstat (limited to 'usr.bin/posixshmcontrol/posixshmcontrol.c')
| -rw-r--r-- | usr.bin/posixshmcontrol/posixshmcontrol.c | 31 |
1 files changed, 28 insertions, 3 deletions
diff --git a/usr.bin/posixshmcontrol/posixshmcontrol.c b/usr.bin/posixshmcontrol/posixshmcontrol.c index 3ebb722ae4fb..47a19b78a9d2 100644 --- a/usr.bin/posixshmcontrol/posixshmcontrol.c +++ b/usr.bin/posixshmcontrol/posixshmcontrol.c @@ -147,9 +147,14 @@ create_shm(int argc, char **argv) return (2); } } - argc -= optind; argv += optind; + + if (argc == 0) { + usage(); + return (2); + } + ret = 0; for (i = 0; i < argc; i++) { ret1 = create_one_shm(argv[i], mode, idx); @@ -179,6 +184,11 @@ delete_shm(int argc, char **argv) { int i, ret, ret1; + if (argc == 1) { + usage(); + return (2); + } + ret = 0; for (i = 1; i < argc; i++) { ret1 = delete_one_shm(argv[i]); @@ -347,6 +357,11 @@ read_shm(int argc, char **argv) { int i, ret, ret1; + if (argc == 1) { + usage(); + return (2); + } + ret = 0; for (i = 1; i < argc; i++) { ret1 = read_one_shm(argv[i]); @@ -433,6 +448,11 @@ stat_shm(int argc, char **argv) argc -= optind; argv += optind; + if (argc == 0) { + usage(); + return (2); + } + ret = 0; for (i = 0; i < argc; i++) { ret1 = stat_one_shm(argv[i], hsize, uname); @@ -473,16 +493,21 @@ truncate_shm(int argc, char **argv) switch (c) { case 's': if (expand_number(optarg, &newsize) == -1) - err(1, "size:"); + err(1, "size"); break; case '?': default: return (2); } } - argc -= optind; argv += optind; + + if (argc == 0) { + usage(); + return (2); + } + ret = 0; for (i = 0; i < argc; i++) { ret1 = truncate_one_shm(argv[i], newsize); |
