diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2014-01-17 07:53:16 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2014-01-17 08:18:04 +0000 |
commit | b234f05497e409034c928db2bbb7486e808d09e5 (patch) | |
tree | 7870a0b601ae6849c8b394ac368c24ad4218cfc8 /main/udev/get_pw_r_size.patch | |
parent | 351f68d924daa25d75d6ac2f7140c52f20162ba9 (diff) | |
download | aports-b234f05497e409034c928db2bbb7486e808d09e5.tar.bz2 aports-b234f05497e409034c928db2bbb7486e808d09e5.tar.xz |
main/udev: fix udev groups too
Diffstat (limited to 'main/udev/get_pw_r_size.patch')
-rw-r--r-- | main/udev/get_pw_r_size.patch | 29 |
1 files changed, 24 insertions, 5 deletions
diff --git a/main/udev/get_pw_r_size.patch b/main/udev/get_pw_r_size.patch index 9ad9f6c978..3462920dfc 100644 --- a/main/udev/get_pw_r_size.patch +++ b/main/udev/get_pw_r_size.patch @@ -1,13 +1,32 @@ ---- ./libudev/libudev-util-private.c -+++ ./libudev/libudev-util-private.c.orig -@@ -133,8 +133,8 @@ +diff --git a/libudev/libudev-util-private.c b/libudev/libudev-util-private.c +index 2d7f8dc..19b67a4 100644 +--- a/libudev/libudev-util-private.c ++++ b/libudev/libudev-util-private.c +@@ -133,8 +133,8 @@ int util_unlink_secure(struct udev *udev, const char *filename) 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]; -+ int buflen = sysconf(_SC_GETPW_R_SIZE_MAX); -+ char buf[buflen>0 ? buflen : 1024]; ++ long buflen = sysconf(_SC_GETPW_R_SIZE_MAX); ++ char buf[buflen > 0 ? buflen : 1024]; struct passwd pwbuf; struct passwd *pw; uid_t uid; +@@ -158,12 +158,15 @@ 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); ++ long buflen = sysconf(_SC_GETGR_R_SIZE_MAX); + char *buf; + struct group grbuf; + struct group *gr; + gid_t gid = 0; + ++ if (buflen < 0) ++ buflen = 1024; ++ + if (strcmp(group, "root") == 0) + return 0; + gid = strtoul(group, &endptr, 10); |