[PATCH] mountd: fix memory leak in nfsd_fh

DORMANTno replies

From: Jeff Layton <hidden>
Date: 2007-08-18 01:52:07
Subsystem: the rest · Maintainer: Linus Torvalds

This should apply cleanly on top of the "use_ipaddr" patch that I recently
posted:

---------------------

nfsd_fh() uses strdup and doesn't check the return value. It also doesn't
free this memory when the function returns. Change it to use xstrdup,
and free found_path on exit.

Signed-off-by: Jeff Layton <redacted>
---
 utils/mountd/cache.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/utils/mountd/cache.c b/utils/mountd/cache.c
index 25248b8..c582f67 100644
--- a/utils/mountd/cache.c
+++ b/utils/mountd/cache.c
@@ -462,7 +462,7 @@ void nfsd_fh(FILE *f)
 			/* It's a match !! */
 			if (!found) {
 				found = &exp->m_export;
-				found_path = strdup(path);
+				found_path = xstrdup(path);
 			} else if (strcmp(found->e_path, exp->m_export.e_path)!= 0)
 			{
 				xlog(L_WARNING, "%s and %s have same filehandle for %s, using first",
@@ -510,9 +510,10 @@ void nfsd_fh(FILE *f)
 		qword_print(f, found->e_path);
 	qword_eol(f);
  out:
-	if (he)
-		free(he);
+	if (he) free(he);
+	if (found_path) free(found_path);
 	free(dom);
+	
 	return;		
 }
 
-- 
1.5.2.2


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
NFS maillist  -  NFS@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help