}
}
range = abs(startId - maxId);
- if (range < 0)
- range = -range;
range++; /* number that can be printed */
if (range < number) {
fprintf(stderr, "Only %d ids to be checked.\n", range);
CreateUser(int u)
{
afs_int32 code;
- char name[16];
+ prname name;
afs_int32 id;
sprintf(name, "%s%d", createPrefix, u);
CreateGroup(int g)
{
afs_int32 code;
- char name[16];
+ char name[PR_MAXNAMELEN + 1];
afs_int32 id = 0;
afs_int32 owner = 0;
char *ownerName = NULL;
break;
}
- sprintf(name, "%s:%s%d", ownerName, createPrefix, g);
+ code = snprintf(name, sizeof(name), "%s:%s%d", ownerName, createPrefix, g);
+ if (code >= sizeof(name)) {
+ fprintf(stderr, "%s: generated group name is too long: %s:%s%d\n",
+ whoami, ownerName, createPrefix, g);
+ exit(13);
+ }
code = ubik_PR_NewEntry(pruclient, 0, name, PRGRP, owner, &id);
if (code) {
if (code == PREXIST) {
if ((code == 0) && (callerId == ANONYMOUSID))
code = PRNOENT;
}
-#if 0 /* don't create user */
- if (code == PRNOENT) {
- callerId = 0;
- code = pr_CreateUser(callerName, &callerId);
- if (code) {
- afs_com_err(whoami, code, "can't create caller %s", callerName);
- exit(5);
- }
- printf("Creating caller %s (%di)\n", callerName, callerId);
- }
- /* else */
-#endif
if (code) {
afs_com_err(whoami, code, "can't find caller %s", callerName);
exit(6);
code = mkdir(tmp_conf_dir, 0777);
if ((code < 0) && (errno != EEXIST)) {
afs_com_err(whoami, errno, "can't create temporary afsconf dir: %s",
- cdir);
+ tmp_conf_dir);
return errno;
}
cmd_SetBeforeProc(MyBeforeProc, NULL);
cmd_SetAfterProc(MyAfterProc, NULL);
- ts = cmd_CreateSyntax("usedIds", ListUsedIds, NULL,
+ ts = cmd_CreateSyntax("usedIds", ListUsedIds, NULL, 0,
"Find used (or unused) user (or group) ids");
cmd_AddParm(ts, "-startId", CMD_SINGLE, CMD_OPTIONAL,
"id to start checking");
cmd_AddParm(ts, "-unused", CMD_FLAG, CMD_OPTIONAL, "print unused ids");
add_std_args(ts);
- ts = cmd_CreateSyntax("initcmd", TestPrServ, NULL, "test the prserver");
+ ts = cmd_CreateSyntax("initcmd", TestPrServ, NULL, 0, "test the prserver");
add_std_args(ts);
- ts = cmd_CreateSyntax("testmanymembers", TestManyMembers, NULL,
+ ts = cmd_CreateSyntax("testmanymembers", TestManyMembers, NULL, 0,
"test creating users and groups w/ many members");
cmd_AddParm(ts, "-number", CMD_SINGLE, 0,
"number of users/groups to create");