X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fudev%2Flibudev-util-private.c;h=f764ab4d8be82ea3a6b11e7533fcad4f44a72747;hb=6df831f25ebc9f55cd939f04392dad9237706e45;hp=08f0ba2228c504c39e2cd8af809e7666d0f949a5;hpb=3e2147858f21943d5f4a781c60f33ac22c6096ed;p=elogind.git diff --git a/src/udev/libudev-util-private.c b/src/udev/libudev-util-private.c index 08f0ba222..f764ab4d8 100644 --- a/src/udev/libudev-util-private.c +++ b/src/udev/libudev-util-private.c @@ -116,11 +116,11 @@ int util_delete_path(struct udev *udev, const char *path) uid_t util_lookup_user(struct udev *udev, const char *user) { char *endptr; - size_t buflen = sysconf(_SC_GETPW_R_SIZE_MAX); - char buf[buflen]; struct passwd pwbuf; struct passwd *pw; uid_t uid; + size_t buflen = sysconf(_SC_GETPW_R_SIZE_MAX); + char *buf = alloca(buflen); if (strcmp(user, "root") == 0) return 0; @@ -141,11 +141,11 @@ uid_t util_lookup_user(struct udev *udev, const char *user) gid_t util_lookup_group(struct udev *udev, const char *group) { char *endptr; - size_t buflen = sysconf(_SC_GETGR_R_SIZE_MAX); - char *buf; struct group grbuf; struct group *gr; gid_t gid = 0; + size_t buflen = sysconf(_SC_GETPW_R_SIZE_MAX); + char *buf = alloca(buflen); if (strcmp(group, "root") == 0) return 0;