]> git.decadent.org.uk Git - nfs-utils.git/blobdiff - support/export/export.c
export: Ensure that we free struct exportent->e_uuid
[nfs-utils.git] / support / export / export.c
index 1800efd1622d1d4ddb9221a0844718adc0c67956..4fda30a799169e232e42b56d63579e315748c3c9 100644 (file)
@@ -24,6 +24,7 @@ static int export_hash(char *);
 
 static void    export_init(nfs_export *exp, nfs_client *clp,
                                        struct exportent *nep);
+static void    export_add(nfs_export *exp);
 static int     export_check(const nfs_export *exp, const struct addrinfo *ai,
                                const char *path);
 static nfs_export *
@@ -37,6 +38,7 @@ export_free(nfs_export *exp)
        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);
        xfree(exp);
@@ -80,8 +82,13 @@ export_read(char *fname)
        endexportent();
 }
 
-/*
- * Create an in-core export struct from an export entry.
+/**
+ * export_create - create an in-core nfs_export record from an export entry
+ * @xep: export entry to lookup
+ * @canonical: if set, e_hostname is known to be canonical DNS name
+ *
+ * Returns a freshly instantiated export record, or NULL if
+ * a problem occurred.
  */
 nfs_export *
 export_create(struct exportent *xep, int canonical)
@@ -151,10 +158,7 @@ export_dup(nfs_export *exp, const struct addrinfo *ai)
        return new;
 }
 
-/*
- * Add export entry to hash table
- */
-void 
+static void
 export_add(nfs_export *exp)
 {
        exp_hash_table *p_tbl;
@@ -262,11 +266,17 @@ export_allowed(const struct addrinfo *ai, const char *path)
        return NULL;
 }
 
-/*
- * Search hash table for export entry. 
- */  
+/**
+ * export_lookup - search hash table for export entry
+ * @hname: '\0'-terminated ASCII string containing client hostname to look for
+ * @path: '\0'-terminated ASCII string containing export path to look for
+ * @canonical: if set, @hname is known to be canonical DNS name
+ *
+ * Returns a pointer to nfs_export record matching @hname and @path,
+ * or NULL if the export was not found.
+ */
 nfs_export *
-export_lookup(char *hname, char *path, int canonical) 
+export_lookup(char *hname, char *path, int canonical)
 {
        nfs_client *clp;
        nfs_export *exp;