[PATCH] fixed memory leak in case of errors in decode_device

Tigran Mkrtchyan tigran at nairi.desy.de
Tue Aug 28 04:40:04 EDT 2007


---
 fs/nfs/nfs4filelayoutdev.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/fs/nfs/nfs4filelayoutdev.c b/fs/nfs/nfs4filelayoutdev.c
index fe1e067..bd663d1 100644
--- a/fs/nfs/nfs4filelayoutdev.c
+++ b/fs/nfs/nfs4filelayoutdev.c
@@ -288,6 +288,7 @@ decode_device(struct pnfs_device* dev)
 
 	if (dev->dev_type != FILE_SIMPLE) {
 		printk(KERN_NOTICE "Device type %d not supported!\n", dev->dev_type);
+		kfree(file_dev);
 		return NULL;
 	}
 
@@ -303,8 +304,10 @@ decode_device(struct pnfs_device* dev)
 
 	/* check and skip r_netid */
 	READ32(len);
-	if (len != 3) /* "tcp" */
-		return NULL;
+	if (len != 3) { /* "tcp" */
+		kfree(file_dev);
+		return NULL;		
+	}
 	/* Read the bytes into a temporary buffer */
 	/* TODO: should probably sanity check them */
 	READ32(tmp[0]);
-- 
1.4.3.4


--------------090004080408020609030103--


More information about the pNFS mailing list