Vodz' last_patch57:
Hi, Erik. my_getpw(uid/gid) and applets used it have problem: if username for uid not found, applets can`t detect it (but code pessent). Also "%8ld " format is bad: spaces not required (applets have self format or spec format (tar applet) and overflow for "id" applet...) This problem also pressent in stable version. Patch for unstable in attach. --w vodz
This commit is contained in:
@ -68,8 +68,7 @@ extern int id_main(int argc, char **argv)
|
||||
my_getgrgid(group, getegid());
|
||||
}
|
||||
} else {
|
||||
strncpy(user, argv[optind], 8);
|
||||
user[8] = '\0';
|
||||
safe_strncpy(user, argv[optind], sizeof(user));
|
||||
gid = my_getpwnamegid(user);
|
||||
my_getgrgid(group, gid);
|
||||
}
|
||||
@ -78,12 +77,12 @@ extern int id_main(int argc, char **argv)
|
||||
grnam=my_getgrnam(group);
|
||||
|
||||
if (no_group) {
|
||||
if(name_not_number && user)
|
||||
if(name_not_number)
|
||||
puts(user);
|
||||
else
|
||||
printf("%ld\n", pwnam);
|
||||
} else if (no_user) {
|
||||
if(name_not_number && group)
|
||||
if(name_not_number)
|
||||
puts(group);
|
||||
else
|
||||
printf("%ld\n", grnam);
|
||||
|
@ -32,8 +32,7 @@ extern int logname_main(int argc, char **argv)
|
||||
if (argc > 1)
|
||||
show_usage();
|
||||
|
||||
my_getpwuid(user, geteuid());
|
||||
if (*user) {
|
||||
if (my_getpwuid(user, geteuid())) {
|
||||
puts(user);
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
@ -35,8 +35,7 @@ extern int whoami_main(int argc, char **argv)
|
||||
if (argc > 1)
|
||||
show_usage();
|
||||
|
||||
my_getpwuid(user, uid);
|
||||
if (*user) {
|
||||
if (my_getpwuid(user, uid)) {
|
||||
puts(user);
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
Reference in New Issue
Block a user