From d3bd3791cb353966957ced0d208aa51107fe9ffc Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Wed, 7 Nov 2018 00:32:38 +0100 Subject: [PATCH] Minor fixes in getgrent() and getpwent() function families. --- LibC/grp.cpp | 10 +++++----- LibC/pwd.cpp | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/LibC/grp.cpp b/LibC/grp.cpp index 0081ea48e6..d12cd699bc 100644 --- a/LibC/grp.cpp +++ b/LibC/grp.cpp @@ -87,10 +87,10 @@ next_entry: assert(__grdb_stream); if (feof(__grdb_stream)) return nullptr; - String line(s); + String line(s, Chomp); auto parts = line.split(':'); if (parts.size() != 4) { - fprintf(stderr, "getgrent(): Malformed entry on line %u\n", __grdb_line_number); + fprintf(stderr, "getgrent(): Malformed entry on line %u: '%s' has %u parts\n", __grdb_line_number, line.characters(), parts.size()); goto next_entry; } auto& e_name = parts[0]; @@ -107,11 +107,11 @@ next_entry: __grdb_entry->gr_gid = e_gid; __grdb_entry->gr_name = __grdb_entry->name_buffer; __grdb_entry->gr_passwd = __grdb_entry->passwd_buffer; - for (size_t i = 0; i < parts.size(); ++i) { + for (size_t i = 0; i < members.size(); ++i) { __grdb_entry->members[i] = __grdb_entry->members_buffer[i]; - strcpy(__grdb_entry->members_buffer[i], parts[i].characters()); + strcpy(__grdb_entry->members_buffer[i], members[i].characters()); } - __grdb_entry->members[parts.size()] = nullptr; + __grdb_entry->members[members.size()] = nullptr; __grdb_entry->gr_mem = __grdb_entry->members; strncpy(__grdb_entry->name_buffer, e_name.characters(), GRDB_STR_MAX_LEN); strncpy(__grdb_entry->passwd_buffer, e_passwd.characters(), GRDB_STR_MAX_LEN); diff --git a/LibC/pwd.cpp b/LibC/pwd.cpp index fc3789ec35..b84f638c07 100644 --- a/LibC/pwd.cpp +++ b/LibC/pwd.cpp @@ -88,7 +88,7 @@ next_entry: assert(__pwdb_stream); if (feof(__pwdb_stream)) return nullptr; - String line(s); + String line(s, Chomp); auto parts = line.split(':'); if (parts.size() != 7) { fprintf(stderr, "getpwent(): Malformed entry on line %u\n", __pwdb_line_number);