a48e745
diff --git a/configure.ac b/configure.ac
a48e745
index 747a8bf..39181f0 100644
a48e745
--- a/configure.ac
a48e745
+++ b/configure.ac
a48e745
@@ -23,7 +23,7 @@ AC_ARG_WITH([statedir],
a48e745
 AC_SUBST([statedir], [$with_statedir])
a48e745
 
a48e745
 AC_ARG_WITH([rpcuser],
a48e745
-  AS_HELP_STRING([--with-rpcuser=ARG], [use ARG for RPC @<:@default=root@:>@]),
a48e745
+  AS_HELP_STRING([--with-rpcuser=ARG], [use ARG for RPC @<:@default=root@:>@])
a48e745
   ,, [with_rpcuser=root])
a48e745
 AC_SUBST([rpcuser], [$with_rpcuser])
a48e745
  
a48e745
diff --git a/man/rpcinfo.8 b/man/rpcinfo.8
a48e745
index 5ece18f..750ffce 100644
a48e745
--- a/man/rpcinfo.8
a48e745
+++ b/man/rpcinfo.8
a48e745
@@ -20,8 +20,7 @@
a48e745
 .Nm "rpcinfo"
a48e745
 .Fl l
a48e745
 .Op Fl T Ar transport
a48e745
-.Ar host Ar prognum
a48e745
-.Op Ar versnum
a48e745
+.Ar host Ar prognum Ar versnum
a48e745
 .Nm "rpcinfo"
a48e745
 .Op Fl n Ar portnum
a48e745
 .Fl u
a48e745
diff --git a/src/rpcbind.c b/src/rpcbind.c
a48e745
index 83dbe93..924aca1 100644
a48e745
--- a/src/rpcbind.c
a48e745
+++ b/src/rpcbind.c
a48e745
@@ -62,6 +62,7 @@
a48e745
 #include <netconfig.h>
a48e745
 #include <stdlib.h>
a48e745
 #include <unistd.h>
a48e745
+#include <grp.h>
a48e745
 #include <syslog.h>
a48e745
 #include <err.h>
a48e745
 #include <pwd.h>
a48e745
@@ -726,11 +727,9 @@ terminate(int dummy /*__unused*/)
a48e745
 	unlink(_PATH_RPCBINDSOCK);
a48e745
 	unlink(RPCBINDDLOCK);
a48e745
 #ifdef WARMSTART
a48e745
-	syslog(LOG_ERR,
a48e745
-		"rpcbind terminating on signal. Restart with \"rpcbind -w\"");
a48e745
 	write_warmstart();	/* Dump yourself */
a48e745
 #endif
a48e745
-	exit(2);
a48e745
+	exit(0); /* exit gracefully */
a48e745
 }
a48e745
 
a48e745
 void
a48e745
diff --git a/src/util.c b/src/util.c
a48e745
index 9a5fb69..7d56479 100644
a48e745
--- a/src/util.c
a48e745
+++ b/src/util.c
a48e745
@@ -101,12 +101,14 @@ static void
a48e745
 in6_fillscopeid(struct sockaddr_in6 *sin6)
a48e745
 {
a48e745
 	u_int16_t ifindex;
a48e745
+	u_int16_t *addr;
a48e745
 
a48e745
         if (IN6_IS_ADDR_LINKLOCAL(&sin6->sin6_addr)) {
a48e745
-		ifindex = ntohs(*(u_int16_t *)&sin6->sin6_addr.s6_addr[2]);
a48e745
+		addr = (u_int16_t *)&sin6->sin6_addr.s6_addr[2];
a48e745
+		ifindex = ntohs(*addr);
a48e745
 		if (sin6->sin6_scope_id == 0 && ifindex != 0) {
a48e745
 			sin6->sin6_scope_id = ifindex;
a48e745
-			*(u_int16_t *)&sin6->sin6_addr.s6_addr[2] = 0;
a48e745
+			*addr = 0;
a48e745
 		}
a48e745
 	}
a48e745
 }