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:
Eric Andersen
2002-09-30 20:39:56 +00:00
parent a6f6e06107
commit 02e6ba91e8
9 changed files with 27 additions and 32 deletions

View File

@ -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);

View File

@ -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;
}

View File

@ -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;
}