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