[lxc-devel] [PATCH] fix memory leaks reported by cppcheck in src/lxc/bdev.c

S.Çağlar Onur caglar at 10ur.org
Fri Nov 15 04:03:58 UTC 2013


Signed-off-by: S.Çağlar Onur <caglar at 10ur.org>
---
 src/lxc/bdev.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/lxc/bdev.c b/src/lxc/bdev.c
index c7e5e5e..6acd29a 100644
--- a/src/lxc/bdev.c
+++ b/src/lxc/bdev.c
@@ -962,8 +962,10 @@ static int lvm_snapshot(const char *orig, const char *path, unsigned long size)
 	// check if the original lv is backed by a thin pool, in which case we
 	// cannot specify a size that's different from the original size.
 	ret = lvm_is_thin_volume(orig);
-	if (ret == -1)
+	if (ret == -1) {
+		free(pathdup);
 		return -1;
+	}
 
 	if (!ret) {
 		ret = execlp("lvcreate", "lvcreate", "-s", "-L", sz, "-n", lv, orig, (char *)NULL);
@@ -1282,6 +1284,7 @@ static int btrfs_subvolume_create(const char *path)
 	p = strrchr(newfull, '/');
 	if (!p) {
 		ERROR("bad path: %s", path);
+		free(newfull);
 		return -1;
 	}
 	*p = '\0';
@@ -1418,6 +1421,7 @@ static int btrfs_destroy(struct bdev *orig)
 	p = strrchr(newfull, '/');
 	if (!p) {
 		ERROR("bad path: %s", path);
+		free(newfull);
 		return -1;
 	}
 	*p = '\0';
-- 
1.8.3.2





More information about the lxc-devel mailing list