From 9529609a815cb7e62687ddf4c90c04858764a2e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=2E=C3=87a=C4=9Flar=20Onur?= Date: Thu, 14 Nov 2013 23:03:58 -0500 Subject: [PATCH] fix memory leaks reported by cppcheck in src/lxc/bdev.c MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: S.Çağlar Onur Signed-off-by: Serge Hallyn --- 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 c7e5e5ee3..6acd29a68 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';