Skip to contentSkip to conversation

mountd: fix memory leak in nfsd_fh

PATCH New Jeff Layton 1 participant 1 message Aug 18, 2007

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 mountd: fix memory leak in nfsd_fh

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.

---
 utils/mountd/cache.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)
utils/mountd/cache.c +4 -3
index 25248b8..c582f67 100644
@@ -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;		
 }
 
Signature · 11 lines
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  -  [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs