Page MenuHomeFreeBSD

D45097.id138156.diff
No OneTemporary

D45097.id138156.diff

diff --git a/usr.sbin/pw/pw.h b/usr.sbin/pw/pw.h
--- a/usr.sbin/pw/pw.h
+++ b/usr.sbin/pw/pw.h
@@ -114,3 +114,5 @@
const char ** __restrict);
bool grp_has_member(struct group *grp, const char *name);
+
+void usage(void);
diff --git a/usr.sbin/pw/pw.c b/usr.sbin/pw/pw.c
--- a/usr.sbin/pw/pw.c
+++ b/usr.sbin/pw/pw.c
@@ -101,13 +101,16 @@
struct pwconf conf;
+static int mode = -1;
+static int which = -1;
+
static int getindex(const char *words[], const char *word);
static void cmdhelp(int mode, int which);
int
main(int argc, char *argv[])
{
- int mode = -1, which = -1, tmp;
+ int tmp;
struct stat st;
char arg, *arg1;
bool relocated, nis;
@@ -375,5 +378,11 @@
fprintf(stderr, "%s", help[which][mode]);
}
- exit(EXIT_FAILURE);
+ exit(EX_USAGE);
+}
+
+void
+usage(void)
+{
+ cmdhelp(mode, which);
}
diff --git a/usr.sbin/pw/pw_group.c b/usr.sbin/pw/pw_group.c
--- a/usr.sbin/pw/pw_group.c
+++ b/usr.sbin/pw/pw_group.c
@@ -273,9 +273,13 @@
quiet = true;
break;
default:
- exit(EX_USAGE);
+ usage();
}
}
+ argc -= optind;
+ argv += optind;
+ if (argc > 0)
+ usage();
if (quiet)
freopen(_PATH_DEVNULL, "w", stderr);
@@ -332,9 +336,13 @@
all = true;
break;
default:
- exit(EX_USAGE);
+ usage();
}
}
+ argc -= optind;
+ argv += optind;
+ if (argc > 0)
+ usage();
if (quiet)
freopen(_PATH_DEVNULL, "w", stderr);
@@ -391,9 +399,13 @@
nis = true;
break;
default:
- exit(EX_USAGE);
+ usage();
}
}
+ argc -= optind;
+ argv += optind;
+ if (argc > 0)
+ usage();
if (quiet)
freopen(_PATH_DEVNULL, "w", stderr);
@@ -551,9 +563,13 @@
nis = true;
break;
default:
- exit(EX_USAGE);
+ usage();
}
}
+ argc -= optind;
+ argv += optind;
+ if (argc > 0)
+ usage();
if (quiet)
freopen(_PATH_DEVNULL, "w", stderr);
@@ -645,9 +661,14 @@
nis = true;
break;
default:
- exit(EX_USAGE);
+ usage();
}
}
+ argc -= optind;
+ argv += optind;
+ if (argc > 0)
+ usage();
+
if (quiet)
freopen(_PATH_DEVNULL, "w", stderr);
cnf = get_userconfig(cfg);
diff --git a/usr.sbin/pw/pw_user.c b/usr.sbin/pw/pw_user.c
--- a/usr.sbin/pw/pw_user.c
+++ b/usr.sbin/pw/pw_user.c
@@ -708,9 +708,13 @@
quiet = true;
break;
default:
- exit(EX_USAGE);
+ usage();
}
}
+ argc -= optind;
+ argv += optind;
+ if (argc > 0)
+ usage();
if (quiet)
freopen(_PATH_DEVNULL, "w", stderr);
@@ -772,9 +776,13 @@
v7 = true;
break;
default:
- exit(EX_USAGE);
+ usage();
}
}
+ argc -= optind;
+ argv += optind;
+ if (argc > 0)
+ usage();
if (quiet)
freopen(_PATH_DEVNULL, "w", stderr);
@@ -855,9 +863,13 @@
nis = true;
break;
default:
- exit(EX_USAGE);
+ usage();
}
}
+ argc -= optind;
+ argv += optind;
+ if (argc > 0)
+ usage();
if (quiet)
freopen(_PATH_DEVNULL, "w", stderr);
@@ -1003,9 +1015,13 @@
/* compatibility */
break;
default:
- exit(EX_USAGE);
+ usage();
}
}
+ argc -= optind;
+ argv += optind;
+ if (argc > 0)
+ usage();
return (pw_userlock(arg1, M_LOCK));
}
@@ -1022,9 +1038,13 @@
/* compatibility */
break;
default:
- exit(EX_USAGE);
+ usage();
}
}
+ argc -= optind;
+ argv += optind;
+ if (argc > 0)
+ usage();
return (pw_userlock(arg1, M_UNLOCK));
}
@@ -1291,9 +1311,13 @@
nis = true;
break;
default:
- exit(EX_USAGE);
+ usage();
}
}
+ argc -= optind;
+ argv += optind;
+ if (argc > 0)
+ usage();
if (geteuid() != 0 && ! dryrun)
errx(EX_NOPERM, "you must be root");
@@ -1604,9 +1628,13 @@
nis = true;
break;
default:
- exit(EX_USAGE);
+ usage();
}
}
+ argc -= optind;
+ argv += optind;
+ if (argc > 0)
+ usage();
if (geteuid() != 0 && ! dryrun)
errx(EX_NOPERM, "you must be root");

File Metadata

Mime Type
text/plain
Expires
Wed, Apr 23, 8:54 PM (16 m, 3 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
17740779
Default Alt Text
D45097.id138156.diff (3 KB)

Event Timeline