diff --git a/ripngd/ripng_interface.c b/ripngd/ripng_interface.c
index c23d32a..6718fff 100644
--- a/ripngd/ripng_interface.c
+++ b/ripngd/ripng_interface.c
@@ -157,22 +157,6 @@
   return count;
 }
 
-/* Check max mtu size. */
-static unsigned int
-ripng_check_max_mtu (void)
-{
-  struct listnode *node;
-  struct interface *ifp;
-  unsigned int mtu;
-
-  mtu = 0;
-  for (ALL_LIST_ELEMENTS_RO (iflist, node, ifp))
-    if (mtu < ifp->mtu6)
-      mtu = ifp->mtu6;
-
-  return mtu;
-}
-
 static int
 ripng_if_down (struct interface *ifp)
 {
@@ -277,8 +261,9 @@
   ripng_if_down (ifp);
 
   if (IS_RIPNG_DEBUG_ZEBRA)
-    zlog_debug ("interface down %s index %d flags %lld metric %d mtu %d",
-	       ifp->name, ifp->ifindex, ifp->flags, ifp->metric, ifp->mtu6);
+    zlog_debug ("interface down %s index %d flags %#llx metric %d mtu %d",
+		ifp->name, ifp->ifindex,
+		(unsigned long long) ifp->flags, ifp->metric, ifp->mtu6);
 
   return 0;
 }
@@ -292,8 +277,9 @@
   ifp = zebra_interface_add_read (zclient->ibuf);
 
   if (IS_RIPNG_DEBUG_ZEBRA)
-    zlog_debug ("RIPng interface add %s index %d flags %lld metric %d mtu %d",
-	       ifp->name, ifp->ifindex, ifp->flags, ifp->metric, ifp->mtu6);
+    zlog_debug ("RIPng interface add %s index %d flags %#llx metric %d mtu %d",
+		ifp->name, ifp->ifindex, (unsigned long long) ifp->flags,
+		ifp->metric, ifp->mtu6);
 
   /* Check is this interface is RIP enabled or not.*/
   ripng_enable_apply (ifp);
@@ -325,8 +311,9 @@
     ripng_if_down(ifp);
   }
 
-  zlog_info("interface delete %s index %d flags %lld metric %d mtu %d",
-            ifp->name, ifp->ifindex, ifp->flags, ifp->metric, ifp->mtu6);
+  zlog_info("interface delete %s index %d flags %#llx metric %d mtu %d",
+            ifp->name, ifp->ifindex, (unsigned long long) ifp->flags,
+	    ifp->metric, ifp->mtu6);
 
   /* To support pseudo interface do not free interface structure.  */
   /* if_delete(ifp); */
diff --git a/ripngd/ripngd.c b/ripngd/ripngd.c
index 9deac03..6e32d83 100644
--- a/ripngd/ripngd.c
+++ b/ripngd/ripngd.c
@@ -272,7 +272,10 @@
       /* Incoming packet's multicast hop limit. */
       if (cmsgptr->cmsg_level == IPPROTO_IPV6 &&
 	  cmsgptr->cmsg_type == IPV6_HOPLIMIT)
-	*hoplimit = *((int *) CMSG_DATA (cmsgptr));
+	{
+	  int *phoplimit = (int *) CMSG_DATA (cmsgptr);
+	  *hoplimit = *phoplimit;
+	}
     }
 
   /* Hoplimit check shold be done when destination address is
