diff --git a/ripd/rip_interface.c b/ripd/rip_interface.c
index 7c5577b..54d357c 100644
--- a/ripd/rip_interface.c
+++ b/ripd/rip_interface.c
@@ -118,8 +118,7 @@
 {
   struct rip_interface *ri;
 
-  ri = XMALLOC (MTYPE_RIP_INTERFACE, sizeof (struct rip_interface));
-  memset (ri, 0, sizeof (struct rip_interface));
+  ri = XCALLOC (MTYPE_RIP_INTERFACE, sizeof (struct rip_interface));
 
   /* Default authentication type is simple password for Cisco
      compatibility. */
diff --git a/ripd/rip_offset.c b/ripd/rip_offset.c
index e7d71f6..0155f90 100644
--- a/ripd/rip_offset.c
+++ b/ripd/rip_offset.c
@@ -63,11 +63,7 @@
 static struct rip_offset_list *
 rip_offset_list_new (void)
 {
-  struct rip_offset_list *new;
-
-  new = XMALLOC (MTYPE_RIP_OFFSET_LIST, sizeof (struct rip_offset_list));
-  memset (new, 0, sizeof (struct rip_offset_list));
-  return new;
+  return XCALLOC (MTYPE_RIP_OFFSET_LIST, sizeof (struct rip_offset_list));
 }
 
 static void
diff --git a/ripd/rip_peer.c b/ripd/rip_peer.c
index e061789..fd912eb 100644
--- a/ripd/rip_peer.c
+++ b/ripd/rip_peer.c
@@ -36,11 +36,7 @@
 static struct rip_peer *
 rip_peer_new (void)
 {
-  struct rip_peer *new;
-
-  new = XMALLOC (MTYPE_RIP_PEER, sizeof (struct rip_peer));
-  memset (new, 0, sizeof (struct rip_peer));
-  return new;
+  return XCALLOC (MTYPE_RIP_PEER, sizeof (struct rip_peer));
 }
 
 static void
diff --git a/ripd/ripd.c b/ripd/ripd.c
index 2525679..cb2603d 100644
--- a/ripd/ripd.c
+++ b/ripd/ripd.c
@@ -110,13 +110,9 @@
 }
 
 static struct rip_info *
-rip_info_new ()
+rip_info_new (void)
 {
-  struct rip_info *new;
-
-  new = XMALLOC (MTYPE_RIP_INFO, sizeof (struct rip_info));
-  memset (new, 0, sizeof (struct rip_info));
-  return new;
+  return XCALLOC (MTYPE_RIP_INFO, sizeof (struct rip_info));
 }
 
 void
@@ -2697,8 +2693,7 @@
 static int
 rip_create (void)
 {
-  rip = XMALLOC (MTYPE_RIP, sizeof (struct rip));
-  memset (rip, 0, sizeof (struct rip));
+  rip = XCALLOC (MTYPE_RIP, sizeof (struct rip));
 
   /* Set initial value. */
   rip->version_send = RI_RIP_VERSION_2;
@@ -3117,10 +3112,7 @@
 static struct rip_distance *
 rip_distance_new (void)
 {
-  struct rip_distance *new;
-  new = XMALLOC (MTYPE_RIP_DISTANCE, sizeof (struct rip_distance));
-  memset (new, 0, sizeof (struct rip_distance));
-  return new;
+  return XCALLOC (MTYPE_RIP_DISTANCE, sizeof (struct rip_distance));
 }
 
 static void
