summaryrefslogtreecommitdiffstats
path: root/login-utils/login.c
diff options
context:
space:
mode:
Diffstat (limited to 'login-utils/login.c')
-rw-r--r--login-utils/login.c12
1 files changed, 2 insertions, 10 deletions
diff --git a/login-utils/login.c b/login-utils/login.c
index b70846771..2551631d3 100644
--- a/login-utils/login.c
+++ b/login-utils/login.c
@@ -674,22 +674,14 @@ static struct passwd *get_passwd_entry(const char *username,
struct passwd *pwd)
{
struct passwd *res = NULL;
- size_t sz = 16384;
int x;
if (!pwdbuf || !username)
return NULL;
-#ifdef _SC_GETPW_R_SIZE_MAX
- {
- long xsz = sysconf(_SC_GETPW_R_SIZE_MAX);
- if (xsz > 0)
- sz = (size_t) xsz;
- }
-#endif
- *pwdbuf = xrealloc(*pwdbuf, sz);
+ *pwdbuf = xrealloc(*pwdbuf, UL_GETPW_BUFSIZ);
- x = getpwnam_r(username, pwd, *pwdbuf, sz, &res);
+ x = getpwnam_r(username, pwd, *pwdbuf, UL_GETPW_BUFSIZ, &res);
if (!res) {
errno = x;
return NULL;