diff options
Diffstat (limited to 'src/libudev/libudev-util.c')
-rw-r--r-- | src/libudev/libudev-util.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/src/libudev/libudev-util.c b/src/libudev/libudev-util.c index 2c31d5b1db..6087c8f106 100644 --- a/src/libudev/libudev-util.c +++ b/src/libudev/libudev-util.c @@ -87,11 +87,8 @@ uid_t util_lookup_user(struct udev *udev, const char *user) struct passwd *pw; uid_t uid; size_t buflen = sysconf(_SC_GETPW_R_SIZE_MAX); - char *buf; + char *buf = alloca(buflen); - if (buflen == -1) - buflen = 1024; - buf = alloca(buflen); if (streq(user, "root")) return 0; uid = strtoul(user, &endptr, 10); @@ -114,11 +111,9 @@ gid_t util_lookup_group(struct udev *udev, const char *group) struct group grbuf; struct group *gr; gid_t gid = 0; - size_t buflen = sysconf(_SC_GETGR_R_SIZE_MAX); + size_t buflen = sysconf(_SC_GETPW_R_SIZE_MAX); char *buf = NULL; - if (buflen == -1) - buflen = 1024; if (streq(group, "root")) return 0; gid = strtoul(group, &endptr, 10); |