mirror of
https://github.com/sheumann/hush.git
synced 2024-12-23 05:29:58 +00:00
stat: remove superfluous setXXent() calls, plug memory leak
function old new delta print_stat 875 865 -10 Signed-off-by: Alexander Shishkin <virtuoso@slind.org> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
894ef60032
commit
a7027bf89e
@ -247,14 +247,12 @@ static void FAST_FUNC print_stat(char *pformat, const char m,
|
||||
strcat(pformat, "lu");
|
||||
printf(pformat, (unsigned long) statbuf->st_uid);
|
||||
} else if (m == 'U') {
|
||||
setpwent();
|
||||
pw_ent = getpwuid(statbuf->st_uid);
|
||||
printfs(pformat, (pw_ent != NULL) ? pw_ent->pw_name : "UNKNOWN");
|
||||
} else if (m == 'g') {
|
||||
strcat(pformat, "lu");
|
||||
printf(pformat, (unsigned long) statbuf->st_gid);
|
||||
} else if (m == 'G') {
|
||||
setgrent();
|
||||
gw_ent = getgrgid(statbuf->st_gid);
|
||||
printfs(pformat, (gw_ent != NULL) ? gw_ent->gr_name : "UNKNOWN");
|
||||
} else if (m == 't') {
|
||||
@ -591,20 +589,20 @@ static bool do_stat(const char *filename, const char *format)
|
||||
# endif
|
||||
} else {
|
||||
char *linkname = NULL;
|
||||
|
||||
struct passwd *pw_ent;
|
||||
struct group *gw_ent;
|
||||
setgrent();
|
||||
|
||||
gw_ent = getgrgid(statbuf.st_gid);
|
||||
setpwent();
|
||||
pw_ent = getpwuid(statbuf.st_uid);
|
||||
|
||||
if (S_ISLNK(statbuf.st_mode))
|
||||
linkname = xmalloc_readlink_or_warn(filename);
|
||||
if (linkname)
|
||||
if (linkname) {
|
||||
printf(" File: '%s' -> '%s'\n", filename, linkname);
|
||||
else
|
||||
free(linkname);
|
||||
} else {
|
||||
printf(" File: '%s'\n", filename);
|
||||
}
|
||||
|
||||
printf(" Size: %-10llu\tBlocks: %-10llu IO Block: %-6lu %s\n"
|
||||
"Device: %llxh/%llud\tInode: %-10llu Links: %-5lu",
|
||||
|
Loading…
Reference in New Issue
Block a user