X-Git-Url: https://git.decadent.org.uk/gitweb/?p=nfs-utils.git;a=blobdiff_plain;f=support%2Fexport%2Fhostname.c;h=299fe9937b4d03606dcbc14a749cae3bd7e057a7;hp=a37d4de44429ea670d450811415cc00b212adb3f;hb=282284fac3c3fe20187f892e3ce15ac319c8acb7;hpb=ffcddda0b11ca445e98f9a58a1e3555bdaec2d7e diff --git a/support/export/hostname.c b/support/export/hostname.c index a37d4de..299fe99 100644 --- a/support/export/hostname.c +++ b/support/export/hostname.c @@ -104,7 +104,7 @@ hostent_dup (struct hostent *hp) char **sp; struct hostent *cp; - for (sp = hp->h_aliases; *sp; sp++) + for (sp = hp->h_aliases; sp && *sp; sp++) { num_aliases++; len_aliases += align (strlen (*sp) + 1, ALIGNMENT) @@ -130,14 +130,14 @@ hostent_dup (struct hostent *hp) cp->h_aliases = (char **) &(((char *) cp) [pos]); pos += num_aliases * sizeof (char *); for (sp = hp->h_aliases, i = 0; i < num_aliases; i++, sp++) - if (*sp) + if (sp && *sp) { cp->h_aliases [i] = (char *) &(((char *) cp) [pos]); strcpy (cp->h_aliases [i], *sp); pos += align (strlen (*sp) + 1, ALIGNMENT); } else - cp->h_aliases [i] = *sp; + cp->h_aliases [i] = NULL; pos = len_ent + len_name + len_aliases; cp->h_addr_list = (char **) &(((char *) cp) [pos]);