Fixed potential issues with format strings

This commit is contained in:
Pierre Pronchery 2006-04-29 19:49:51 +00:00
parent 5bc45b6418
commit 264ae02590

View File

@ -14,38 +14,38 @@
/* print_gid */ /* print_gid */
static struct group * print_gid(gid_t gid) static struct group * print_gid(gid_t gid)
{ {
struct group * group; struct group * gr;
if((group = getgrgid(gid)) == NULL) if((gr = getgrgid(gid)) == NULL)
{ {
printf("\n"); printf("\n");
perror("getgrgid"); perror("getgrgid");
} }
else else
printf("gid=%u(%s)", group->gr_gid, group->gr_name); printf("gid=%u(%s)", gr->gr_gid, gr->gr_name);
return group; return gr;
} }
/* id_all */ /* id_all */
static int id_all(char * user) static int id_all(char * user)
{ {
struct passwd * passwd; struct passwd * pw;
struct group * group; struct group * gr;
char ** p; char ** p;
if(user == NULL) if(user == NULL)
{ {
if((passwd = getpwuid(getuid())) == NULL) if((pw = getpwuid(getuid())) == NULL)
{ {
printf("\n"); printf("\n");
perror("geteuid"); perror("geteuid");
return 2; return 2;
} }
printf("uid=%u(%s) ", passwd->pw_uid, passwd->pw_name); printf("uid=%u(%s) ", (unsigned)pw->pw_uid, pw->pw_name);
if((group = print_gid(passwd->pw_gid)) == NULL) if((gr = print_gid(pw->pw_gid)) == NULL)
return 2; return 2;
if((user = strdup(group->gr_name)) == NULL) if((user = strdup(gr->gr_name)) == NULL)
{ {
printf("\n"); printf("\n");
perror("strdup"); perror("strdup");
@ -53,42 +53,42 @@ static int id_all(char * user)
} }
if(geteuid() != getuid()) if(geteuid() != getuid())
{ {
if((passwd = getpwuid(geteuid())) == NULL) if((pw = getpwuid(geteuid())) == NULL)
{ {
printf("\n"); printf("\n");
perror("geteuid"); perror("geteuid");
return 2; return 2;
} }
printf(" euid=%u(%s) e", passwd->pw_uid, printf(" euid=%u(%s) e", (unsigned)pw->pw_uid,
passwd->pw_name); pw->pw_name);
if(print_gid(passwd->pw_gid) == NULL) if(print_gid(pw->pw_gid) == NULL)
return 2; return 2;
} }
} }
else else
{ {
if((passwd = getpwnam(user)) == NULL) if((pw = getpwnam(user)) == NULL)
{ {
perror("getpwnam"); perror("getpwnam");
return 2; return 2;
} }
printf("uid=%u(%s) ", passwd->pw_uid, passwd->pw_name); printf("uid=%u(%s) ", (unsigned)pw->pw_uid, pw->pw_name);
if((group = print_gid(passwd->pw_gid)) == NULL) if((gr = print_gid(pw->pw_gid)) == NULL)
return 2; return 2;
if((user = strdup(group->gr_name)) == NULL) if((user = strdup(gr->gr_name)) == NULL)
{ {
printf("\n"); printf("\n");
perror("strdup"); perror("strdup");
return 2; return 2;
} }
} }
printf("%s%u(%s)", " groups=", passwd->pw_gid, user); printf("%s%u(%s)", " groups=", (unsigned)pw->pw_gid, user);
setgrent(); setgrent();
for(group = getgrent(); group != NULL; group = getgrent()) for(gr = getgrent(); gr != NULL; gr = getgrent())
for(p = group->gr_mem; *p != NULL; p++) for(p = gr->gr_mem; *p != NULL; p++)
if(strcmp(user, *p) == 0) if(strcmp(user, *p) == 0)
printf(",%u(%s)", group->gr_gid, printf(",%u(%s)", (unsigned)gr->gr_gid,
group->gr_name); gr->gr_name);
printf("\n"); printf("\n");
endgrent(); endgrent();
free(user); free(user);
@ -99,12 +99,12 @@ static int id_all(char * user)
/* id_G */ /* id_G */
static int id_G(char * user, int flagn) static int id_G(char * user, int flagn)
{ {
struct group * group; struct group * gr;
char ** p; char ** p;
if(user == NULL) if(user == NULL)
{ {
if((group = getgrgid(getegid())) == NULL) if((gr = getgrgid(getegid())) == NULL)
{ {
perror("getgrgid"); perror("getgrgid");
return 2; return 2;
@ -112,55 +112,56 @@ static int id_G(char * user, int flagn)
if(getegid() != getgid()) if(getegid() != getgid())
{ {
if(flagn == 0) if(flagn == 0)
printf("%u %u", getegid(), getgid()); printf("%u %u", (unsigned)getegid(),
(unsigned)getgid());
else else
{ {
printf("%s", group->gr_name); printf("%s", gr->gr_name);
if((group = getgrgid(getgid())) == NULL) if((gr = getgrgid(getgid())) == NULL)
{ {
printf("\n"); printf("\n");
perror("getgrgid"); perror("getgrgid");
return 2; return 2;
} }
printf(" %s", group->gr_name); printf(" %s", gr->gr_name);
} }
} }
else else
{ {
if(flagn == 0) if(flagn == 0)
printf("%u", getgid()); printf("%u", (unsigned)getgid());
else else
printf("%s", group->gr_name); printf("%s", gr->gr_name);
} }
} }
else else
{ {
if((group = getgrnam(user)) == NULL) if((gr = getgrnam(user)) == NULL)
{ {
perror("getgrnam"); perror("getgrnam");
return 2; return 2;
} }
if(flagn == 0) if(flagn == 0)
printf("%u", group->gr_gid); printf("%u", (unsigned)gr->gr_gid);
else else
printf("%s", group->gr_name); printf("%s", gr->gr_name);
} }
if((user = strdup(group->gr_name)) == NULL) if((user = strdup(gr->gr_name)) == NULL)
{ {
perror("strdup"); perror("strdup");
return 2; return 2;
} }
setgrent(); setgrent();
for(group = getgrent(); group != NULL; group = getgrent()) for(gr = getgrent(); gr != NULL; gr = getgrent())
{ {
for(p = group->gr_mem; *p != NULL; p++) for(p = gr->gr_mem; *p != NULL; p++)
{ {
if(strcmp(user, *p) == 0) if(strcmp(user, *p) == 0)
{ {
if(flagn == 0) if(flagn == 0)
printf(" %u", group->gr_gid); printf(" %u", (unsigned)gr->gr_gid);
else else
printf(" %s", group->gr_name); printf(" %s", gr->gr_name);
} }
} }
} }
@ -174,32 +175,33 @@ static int id_G(char * user, int flagn)
/* id_g */ /* id_g */
static int id_g(char * user, int flagn, int flagr) static int id_g(char * user, int flagn, int flagr)
{ {
struct group * group; struct group * gr;
if(user == NULL) if(user == NULL)
{ {
if(flagn == 0) if(flagn == 0)
{ {
printf("%u\n", flagr ? getegid() : getgid()); printf("%u\n", flagr ? (unsigned)getegid()
: (unsigned)getgid());
return 0; return 0;
} }
if((group = getgrgid(flagr ? getegid() : getgid())) == NULL) if((gr = getgrgid(flagr ? getegid() : getgid())) == NULL)
{ {
perror("getgrgid"); perror("getgrgid");
return 2; return 2;
} }
printf("%s\n", group->gr_name); printf("%s\n", gr->gr_name);
return 0; return 0;
} }
if((group = getgrnam(user)) == NULL) if((gr = getgrnam(user)) == NULL)
{ {
perror("getgrnam"); perror("getgrnam");
return 2; return 2;
} }
if(flagn == 0) if(flagn == 0)
printf("%u\n", group->gr_gid); printf("%u\n", (unsigned)gr->gr_gid);
else else
printf("%s\n", group->gr_name); printf("%s\n", gr->gr_name);
return 0; return 0;
} }