[patch] md: memory leak on error path in dm_exception_store_create()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



tmp_store should  be freed if the persistent flag is invalid.

Compile tested only.  Sorry.  Found by smatch 
(http://repo.or.cz/w/smatch.git).

regards,
dan carpenter

Signed-off-by: Dan Carpenter <error27@xxxxxxxxx>

--- orig/drivers/md/dm-exception-store.c	2009-07-17 14:11:10.000000000 +0300
+++ new/drivers/md/dm-exception-store.c	2009-07-17 14:13:24.000000000 +0300
@@ -217,13 +217,14 @@
 		type = get_type("N");
 	else {
 		ti->error = "Persistent flag is not P or N";
-		return -EINVAL;
+		r = -EINVAL;
+		goto out_free;
 	}
 
 	if (!type) {
 		ti->error = "Exception store type not recognised";
 		r = -EINVAL;
-		goto bad_type;
+		goto out_free;
 	}
 
 	tmp_store->type = type;
@@ -254,7 +255,7 @@
 	dm_put_device(ti, tmp_store->cow);
 bad_cow:
 	put_type(type);
-bad_type:
+out_free:
 	kfree(tmp_store);
 	return r;
 }
--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux