current make world brakes if HESIOD enabled

Daniel Braniss danny at cs.huji.ac.il
Sat Apr 3 06:18:35 UTC 2021


I must be the last person on earth to use Hesiod :-)
this are the diffs:

diff --git a/lib/libc/gen/getgrent.c b/lib/libc/gen/getgrent.c
index afb89cab3..5832cb8c6 100644
--- a/lib/libc/gen/getgrent.c
+++ b/lib/libc/gen/getgrent.c
@@ -971,7 +971,7 @@ dns_group(void *retval, void *mdata, va_list ap)
	hes = NULL;
	name = NULL;
	gid = (gid_t)-1;
-	how = (enum nss_lookup_type)mdata;
+	how = (enum nss_lookup_type)(uintptr_t)mdata;
	switch (how) {
	case nss_lt_name:
		name = va_arg(ap, const char *);
diff --git a/lib/libc/gen/getpwent.c b/lib/libc/gen/getpwent.c
index a07ee109e..bc1d341fd 100644
--- a/lib/libc/gen/getpwent.c
+++ b/lib/libc/gen/getpwent.c
@@ -1108,7 +1108,7 @@ dns_passwd(void *retval, void *mdata, va_list ap)
	hes = NULL;
	name = NULL;
	uid = (uid_t)-1;
-	how = (enum nss_lookup_type)mdata;
+	how = (enum nss_lookup_type)(uintptr_t)mdata;
	switch (how) {
	case nss_lt_name:
		name = va_arg(ap, const char *);




More information about the freebsd-stable mailing list