diff options
-rw-r--r-- | support/export/export.c | 19 | ||||
-rw-r--r-- | support/include/exportfs.h | 1 |
2 files changed, 13 insertions, 7 deletions
diff --git a/support/export/export.c b/support/export/export.c index 0257903..6b1d045 100644 --- a/support/export/export.c +++ b/support/export/export.c @@ -31,16 +31,21 @@ static nfs_export * export_allowed_internal(const struct addrinfo *ai, const char *path); +void +exportent_release(struct exportent *eep) +{ + xfree(eep->e_squids); + xfree(eep->e_sqgids); + free(eep->e_mountpoint); + free(eep->e_fslocdata); + free(eep->e_uuid); + xfree(eep->e_hostname); +} + static void export_free(nfs_export *exp) { - xfree(exp->m_export.e_squids); - xfree(exp->m_export.e_sqgids); - free(exp->m_export.e_mountpoint); - free(exp->m_export.e_fslocdata); - free(exp->m_export.e_uuid); - - xfree(exp->m_export.e_hostname); + exportent_release(&exp->m_export); xfree(exp); } diff --git a/support/include/exportfs.h b/support/include/exportfs.h index 99916e5..5960feb 100644 --- a/support/include/exportfs.h +++ b/support/include/exportfs.h @@ -141,6 +141,7 @@ nfs_export * export_find(const struct addrinfo *ai, nfs_export * export_allowed(const struct addrinfo *ai, const char *path); nfs_export * export_create(struct exportent *, int canonical); +void exportent_release(struct exportent *); void export_freeall(void); int export_export(nfs_export *); int export_unexport(nfs_export *); |