diff options
Diffstat (limited to 'libbb/my_getpwuid.c')
-rw-r--r-- | libbb/my_getpwuid.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libbb/my_getpwuid.c b/libbb/my_getpwuid.c index 21a037f75..53f6c77ee 100644 --- a/libbb/my_getpwuid.c +++ b/libbb/my_getpwuid.c | |||
@@ -28,16 +28,16 @@ | |||
28 | 28 | ||
29 | 29 | ||
30 | /* gets a username given a uid */ | 30 | /* gets a username given a uid */ |
31 | char * my_getpwuid(char *name, long uid) | 31 | char * my_getpwuid(char *name, long uid, int bufsize) |
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, "%ld", (long)uid); | 37 | snprintf(name, bufsize, "%ld", (long)uid); |
38 | return NULL; | 38 | return NULL; |
39 | } else { | 39 | } else { |
40 | return strcpy(name, myuser->pw_name); | 40 | return safe_strncpy(name, myuser->pw_name, bufsize); |
41 | } | 41 | } |
42 | } | 42 | } |
43 | 43 | ||