aboutsummaryrefslogtreecommitdiffstats
path: root/main/udev/get_pw_r_size.patch
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2014-01-17 07:53:16 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2014-01-17 08:18:04 +0000
commitb234f05497e409034c928db2bbb7486e808d09e5 (patch)
tree7870a0b601ae6849c8b394ac368c24ad4218cfc8 /main/udev/get_pw_r_size.patch
parent351f68d924daa25d75d6ac2f7140c52f20162ba9 (diff)
downloadaports-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.patch29
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);