diff --git a/support/support_format_group.c b/support/support_format_group.c
index fb714564cd..a9ad4973c0 100644
--- a/support/support_format_group.c
+++ b/support/support_format_group.c
@@ -35,8 +35,11 @@ support_format_group (const struct group *g)
   fprintf (mem.out, "name: %s\n", g->gr_name);
   fprintf (mem.out, "passwd: %s\n", g->gr_passwd);
   fprintf (mem.out, "gid: %u\n", (unsigned) g->gr_gid);
-  for (char **mp = g->gr_mem; *mp != NULL; ++mp)
-    fprintf (mem.out, "member: %s\n", *mp);
+  if (g->gr_mem != NULL)
+    for (char **mp = g->gr_mem; *mp != NULL; ++mp)
+      fprintf (mem.out, "member: %s\n", *mp);
+  else
+    fputs ("gr_mem: (null)\n", mem.out);
 
   xfclose_memstream (&mem);
   return mem.buffer;
diff --git a/support/support_format_hostent.c b/support/support_format_hostent.c
index f76ec459cd..4b3ef8e1d8 100644
--- a/support/support_format_hostent.c
+++ b/support/support_format_hostent.c
@@ -59,17 +59,26 @@ support_format_hostent (const struct hostent *h)
   xopen_memstream (&mem);
 
   fprintf (mem.out, "name: %s\n", h->h_name);
-  for (char **alias = h->h_aliases; *alias != NULL; ++alias)
-    fprintf (mem.out, "alias: %s\n", *alias);
-  for (unsigned i = 0; h->h_addr_list[i] != NULL; ++i)
-    {
-      char buf[128];
-      if (inet_ntop (h->h_addrtype, h->h_addr_list[i],
-                     buf, sizeof (buf)) == NULL)
-        fprintf (mem.out, "error: inet_ntop failed: %m\n");
-      else
-        fprintf (mem.out, "address: %s\n", buf);
-    }
+
+  if (h->h_aliases != NULL)
+    for (char **alias = h->h_aliases; *alias != NULL; ++alias)
+      fprintf (mem.out, "alias: %s\n", *alias);
+  else
+    fputs ("h_aliases: (null)\n", mem.out);
+
+  if (h->h_addr_list != NULL)
+    for (unsigned i = 0; h->h_addr_list[i] != NULL; ++i)
+      {
+        char buf[128];
+        if (inet_ntop (h->h_addrtype, h->h_addr_list[i],
+                       buf, sizeof (buf)) == NULL)
+          fprintf (mem.out, "error: inet_ntop failed: %m\n");
+        else
+          fprintf (mem.out, "address: %s\n", buf);
+      }
+  else
+    fputs ("h_addr_list: (null)\n", mem.out);
+
   if (h->h_length != address_length (h->h_addrtype))
     {
       char *family = support_format_address_family (h->h_addrtype);
diff --git a/support/support_format_netent.c b/support/support_format_netent.c
index 7f08476dd3..1ff2f93c26 100644
--- a/support/support_format_netent.c
+++ b/support/support_format_netent.c
@@ -41,8 +41,13 @@ support_format_netent (const struct netent *e)
 
   if (e->n_name != NULL)
     fprintf (mem.out, "name: %s\n", e->n_name);
-  for (char **ap = e->n_aliases; *ap != NULL; ++ap)
-    fprintf (mem.out, "alias: %s\n", *ap);
+
+  if (e->n_aliases != NULL)
+    for (char **ap = e->n_aliases; *ap != NULL; ++ap)
+      fprintf (mem.out, "alias: %s\n", *ap);
+  else
+    fputs ("n_aliases: (null)\n", mem.out);
+
   if (e->n_addrtype != AF_INET)
     fprintf (mem.out, "addrtype: %d\n", e->n_addrtype);
   /* On alpha, e->n_net is an unsigned long.  */
diff --git a/support/support_format_protoent.c b/support/support_format_protoent.c
index 25c177f5da..187e7ff318 100644
--- a/support/support_format_protoent.c
+++ b/support/support_format_protoent.c
@@ -32,9 +32,14 @@ support_format_protoent (const struct protoent *e)
   struct xmemstream mem;
   xopen_memstream (&mem);
 
-  fprintf (mem.out, "name: %s\n", e->p_name);
-  for (char **ap = e->p_aliases; *ap != NULL; ++ap)
-    fprintf (mem.out, "alias: %s\n", *ap);
+  fprintf (mem.out, "name: %s\n", e->p_name ?: "(null)");
+
+  if (e->p_aliases != NULL)
+    for (char **ap = e->p_aliases; *ap != NULL; ++ap)
+      fprintf (mem.out, "alias: %s\n", *ap);
+  else
+    fputs ("p_aliases: (null)\n", mem.out);
+
   fprintf (mem.out, "proto: %d\n", e->p_proto);
 
   xfclose_memstream (&mem);
diff --git a/support/support_format_rpcent.c b/support/support_format_rpcent.c
index 1b898f3e27..66ee00f319 100644
--- a/support/support_format_rpcent.c
+++ b/support/support_format_rpcent.c
@@ -34,8 +34,12 @@ support_format_rpcent (const struct rpcent *r)
 
   fprintf (mem.out, "name: %s\n", r->r_name);
   fprintf (mem.out, "number: %d\n", r->r_number);
-  for (char **ap = r->r_aliases; *ap != NULL; ++ap)
-    fprintf (mem.out, "alias: %s\n", *ap);
+
+  if (r->r_aliases != NULL)
+    for (char **ap = r->r_aliases; *ap != NULL; ++ap)
+      fprintf (mem.out, "alias: %s\n", *ap);
+  else
+    fputs ("r_aliases: (null)\n", mem.out);
 
   xfclose_memstream (&mem);
   return mem.buffer;
diff --git a/support/support_format_servent.c b/support/support_format_servent.c
index fbe8138222..b8823ab485 100644
--- a/support/support_format_servent.c
+++ b/support/support_format_servent.c
@@ -34,8 +34,13 @@ support_format_servent (const struct servent *e)
   xopen_memstream (&mem);
 
   fprintf (mem.out, "name: %s\n", e->s_name);
-  for (char **ap = e->s_aliases; *ap != NULL; ++ap)
-    fprintf (mem.out, "alias: %s\n", *ap);
+
+  if (e->s_aliases != NULL)
+    for (char **ap = e->s_aliases; *ap != NULL; ++ap)
+      fprintf (mem.out, "alias: %s\n", *ap);
+  else
+    fputs ("s_aliases: (null)\n", mem.out);
+
   fprintf (mem.out, "port: %d\n", ntohs (e->s_port));
   fprintf (mem.out, "proto: %s\n", e->s_proto);
 
diff --git a/support/support_format_sgrp.c b/support/support_format_sgrp.c
index d9b7d12478..0b4bdd7dfc 100644
--- a/support/support_format_sgrp.c
+++ b/support/support_format_sgrp.c
@@ -34,10 +34,18 @@ support_format_sgrp (const struct sgrp *s)
 
   fprintf (mem.out, "name: %s\n", s->sg_namp);
   fprintf (mem.out, "passwd: %s\n", s->sg_passwd);
-  for (char **ap = s->sg_adm; *ap != NULL; ++ap)
-    fprintf (mem.out, "admin: %s\n", *ap);
-  for (char **mp = s->sg_mem; *mp != NULL; ++mp)
-    fprintf (mem.out, "member: %s\n", *mp);
+
+  if (s->sg_adm != NULL)
+    for (char **ap = s->sg_adm; *ap != NULL; ++ap)
+      fprintf (mem.out, "admin: %s\n", *ap);
+  else
+    fputs ("sg_adm: (null)\n", mem.out);
+
+  if (s->sg_mem != NULL)
+    for (char **mp = s->sg_mem; *mp != NULL; ++mp)
+      fprintf (mem.out, "member: %s\n", *mp);
+  else
+    fputs ("sg_mem: (null)\n", mem.out);
 
   xfclose_memstream (&mem);
   return mem.buffer;
