From: Chuck Lever <chuck.lever@oracle.com>
Date: Thu, 5 Jan 2012 21:01:22 +0000 (-0500)
Subject: mountd: Plug v4root memory leak
X-Git-Tag: nfs-utils-1-2-6-rc5~2
X-Git-Url: https://git.decadent.org.uk/gitweb/?a=commitdiff_plain;h=cd4f4d13848bd64f98290ef67ef8572d998d3041;p=nfs-utils.git

mountd: Plug v4root memory leak

Valgrind reports that the memory allocated for eep's e_hostname field
was not being freed.  eep is not visible outside of v4root_create(),
so we don't need to strdup() that string.

Introduced by commit 3b777b0 "exports: NFSv4 pseudoroot support
routines" (Dec 1, 2009).

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
---

diff --git a/utils/mountd/v4root.c b/utils/mountd/v4root.c
index c33a5a9..81f813b 100644
--- a/utils/mountd/v4root.c
+++ b/utils/mountd/v4root.c
@@ -83,7 +83,7 @@ v4root_create(char *path, nfs_export *export)
 	struct exportent *curexp = &export->m_export;
 
 	dupexportent(&eep, &pseudo_root.m_export);
-	eep.e_hostname = strdup(curexp->e_hostname);
+	eep.e_hostname = curexp->e_hostname;
 	strncpy(eep.e_path, path, sizeof(eep.e_path));
 	if (strcmp(path, "/") != 0)
 		eep.e_flags &= ~NFSEXP_FSID;