From: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> Currently, the exportent->e_uuid is initialised in support/nfs/exports.c:parseopts(), but it is never freed. Also ensure that exportent->e_uuid is duplicated correctly in dupexportent(). Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> Adjusted to account for the new export_free() helper. Also, e_uuid points to memory that is always allocated with strdup(3), not with xstrdup(). Thus it must be freed via free(3) and not via xfree(). Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> --- support/export/export.c | 1 + support/nfs/exports.c | 2 ++ 2 files changed, 3 insertions(+), 0 deletions(-) diff --git a/support/export/export.c b/support/export/export.c index f528603..4fda30a 100644 --- a/support/export/export.c +++ b/support/export/export.c @@ -38,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); diff --git a/support/nfs/exports.c b/support/nfs/exports.c index a93941c..1744ed6 100644 --- a/support/nfs/exports.c +++ b/support/nfs/exports.c @@ -332,6 +332,8 @@ dupexportent(struct exportent *dst, struct exportent *src) dst->e_mountpoint = strdup(src->e_mountpoint); if (src->e_fslocdata) dst->e_fslocdata = strdup(src->e_fslocdata); + if (src->e_uuid) + dst->e_uuid = strdup(src->e_uuid); dst->e_hostname = NULL; } -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html