diff options
author | andersen <andersen@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2002-09-30 20:39:56 +0000 |
---|---|---|
committer | andersen <andersen@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2002-09-30 20:39:56 +0000 |
commit | 613d1366341793b382f63572d472016c1ad7b5a0 (patch) | |
tree | cc1954165fe7e6efed1ba0dfa7d5c3aea97fffa5 /libbb | |
parent | f41de5a7d48afe17882100c94eee4fd5a7016b5f (diff) | |
download | busybox-w32-613d1366341793b382f63572d472016c1ad7b5a0.tar.gz busybox-w32-613d1366341793b382f63572d472016c1ad7b5a0.tar.bz2 busybox-w32-613d1366341793b382f63572d472016c1ad7b5a0.zip |
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
git-svn-id: svn://busybox.net/trunk/busybox@5613 69ca8d6d-28ef-0310-b511-8ec308f3f277
Diffstat (limited to 'libbb')
-rw-r--r-- | libbb/my_getgrgid.c | 12 | ||||
-rw-r--r-- | libbb/my_getpwuid.c | 12 |
2 files changed, 14 insertions, 10 deletions
diff --git a/libbb/my_getgrgid.c b/libbb/my_getgrgid.c index 88bafc97b..5bf905145 100644 --- a/libbb/my_getgrgid.c +++ b/libbb/my_getgrgid.c | |||
@@ -27,15 +27,17 @@ | |||
27 | 27 | ||
28 | 28 | ||
29 | /* gets a groupname given a gid */ | 29 | /* gets a groupname given a gid */ |
30 | void my_getgrgid(char *group, long gid) | 30 | char * my_getgrgid(char *group, long gid) |
31 | { | 31 | { |
32 | struct group *mygroup; | 32 | struct group *mygroup; |
33 | 33 | ||
34 | mygroup = getgrgid(gid); | 34 | mygroup = getgrgid(gid); |
35 | if (mygroup==NULL) | 35 | if (mygroup==NULL) { |
36 | sprintf(group, "%-8ld ", (long)gid); | 36 | sprintf(group, "%ld", gid); |
37 | else | 37 | return NULL; |
38 | strcpy(group, mygroup->gr_name); | 38 | } else { |
39 | return strcpy(group, mygroup->gr_name); | ||
40 | } | ||
39 | } | 41 | } |
40 | 42 | ||
41 | 43 | ||
diff --git a/libbb/my_getpwuid.c b/libbb/my_getpwuid.c index 2abe7a7f3..dfe9b4948 100644 --- a/libbb/my_getpwuid.c +++ b/libbb/my_getpwuid.c | |||
@@ -28,15 +28,17 @@ | |||
28 | 28 | ||
29 | 29 | ||
30 | /* gets a username given a uid */ | 30 | /* gets a username given a uid */ |
31 | void my_getpwuid(char *name, long uid) | 31 | char * my_getpwuid(char *name, long uid) |
32 | { | 32 | { |
33 | struct passwd *myuser; | 33 | struct passwd *myuser; |
34 | 34 | ||
35 | myuser = getpwuid(uid); | 35 | myuser = getpwuid(uid); |
36 | if (myuser==NULL) | 36 | if (myuser==NULL) { |
37 | sprintf(name, "%-8ld ", (long)uid); | 37 | sprintf(name, "%ld", (long)uid); |
38 | else | 38 | return NULL; |
39 | strcpy(name, myuser->pw_name); | 39 | } else { |
40 | return strcpy(name, myuser->pw_name); | ||
41 | } | ||
40 | } | 42 | } |
41 | 43 | ||
42 | /* END CODE */ | 44 | /* END CODE */ |