forked from rpms/rpcbind
35 lines
1.0 KiB
Diff
35 lines
1.0 KiB
Diff
diff --git a/configure.ac b/configure.ac
|
|
index 747a8bf..39181f0 100644
|
|
--- a/configure.ac
|
|
+++ b/configure.ac
|
|
@@ -23,7 +23,7 @@ AC_ARG_WITH([statedir],
|
|
AC_SUBST([statedir], [$with_statedir])
|
|
|
|
AC_ARG_WITH([rpcuser],
|
|
- AS_HELP_STRING([--with-rpcuser=ARG], [use ARG for RPC @<:@default=root@:>@]),
|
|
+ AS_HELP_STRING([--with-rpcuser=ARG], [use ARG for RPC @<:@default=root@:>@])
|
|
,, [with_rpcuser=root])
|
|
AC_SUBST([rpcuser], [$with_rpcuser])
|
|
|
|
diff --git a/src/util.c b/src/util.c
|
|
index 9a5fb69..7d56479 100644
|
|
--- a/src/util.c
|
|
+++ b/src/util.c
|
|
@@ -101,12 +101,14 @@ static void
|
|
in6_fillscopeid(struct sockaddr_in6 *sin6)
|
|
{
|
|
u_int16_t ifindex;
|
|
+ u_int16_t *addr;
|
|
|
|
if (IN6_IS_ADDR_LINKLOCAL(&sin6->sin6_addr)) {
|
|
- ifindex = ntohs(*(u_int16_t *)&sin6->sin6_addr.s6_addr[2]);
|
|
+ addr = (u_int16_t *)&sin6->sin6_addr.s6_addr[2];
|
|
+ ifindex = ntohs(*addr);
|
|
if (sin6->sin6_scope_id == 0 && ifindex != 0) {
|
|
sin6->sin6_scope_id = ifindex;
|
|
- *(u_int16_t *)&sin6->sin6_addr.s6_addr[2] = 0;
|
|
+ *addr = 0;
|
|
}
|
|
}
|
|
}
|