X-Git-Url: https://git.decadent.org.uk/gitweb/?p=nfs-utils.git;a=blobdiff_plain;f=support%2Fexport%2Frmtab.c;h=0ce368253736c8cd5d04d7e1698b12222cbd9813;hp=58e59f4e111da0d784a4f4ab6d40c5ab128a3532;hb=fd54675db0806e81c17ee7e7eec0abfcd33f1f23;hpb=f68785e72129ab643d6c793bd5a11bdf0010eff9 diff --git a/support/export/rmtab.c b/support/export/rmtab.c index 58e59f4..0ce3682 100644 --- a/support/export/rmtab.c +++ b/support/export/rmtab.c @@ -5,7 +5,9 @@ * */ -#include "config.h" +#ifdef HAVE_CONFIG_H +#include +#endif #include #include @@ -21,7 +23,7 @@ int rmtab_read(void) { struct rmtabent *rep; - nfs_export *exp; + nfs_export *exp = NULL; setrmtabent("r"); while ((rep = getrmtabent(1, NULL)) != NULL) { @@ -29,10 +31,10 @@ rmtab_read(void) int htype; htype = client_gettype(rep->r_client); - if (htype == MCL_FQDN + if (htype == MCL_FQDN || (htype == MCL_SUBNETWORK && (hp = gethostbyname (rep->r_client)) && (hp = hostent_dup (hp), - exp = export_allowed (hp, rep->r_path))) { + (exp = export_allowed (hp, rep->r_path))))) { /* see if the entry already exists, otherwise this was an instantiated * wild card, and we must add it */ @@ -41,9 +43,7 @@ rmtab_read(void) if (!exp2) { struct exportent ee; dupexportent(&ee, &exp->m_export); - strncpy (ee.e_hostname, rep->r_client, - sizeof (ee.e_hostname) - 1); - ee.e_hostname[sizeof (ee.e_hostname) -1] = '\0'; + ee.e_hostname = rep->r_client; exp2 = export_create(&ee, 0); exp2->m_changed = exp->m_changed; }