summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2012-08-16 20:12:38 +0200
committerZdenek Kabelac <zkabelac@redhat.com>2012-08-23 14:36:10 +0200
commit7e318dad427c7d2e6787f9412cf7c4ee761faf9f (patch)
tree561bae1641398afce265708fba1054125427b3b2
parent59ca324c35f3898070a5ad4cb0ec267a1eb4a292 (diff)
downloadlvm2-7e318dad427c7d2e6787f9412cf7c4ee761faf9f.zip
lvm2-7e318dad427c7d2e6787f9412cf7c4ee761faf9f.tar.gz
lvm2-7e318dad427c7d2e6787f9412cf7c4ee761faf9f.tar.xz
dmsetup: fix memleak in _get_split_name
Free allocated buffer in _get_split_name error path.
-rw-r--r--WHATS_NEW_DM4
-rw-r--r--tools/dmsetup.c4
2 files changed, 7 insertions, 1 deletions
diff --git a/WHATS_NEW_DM b/WHATS_NEW_DM
index 3890ea4..186a2e1 100644
--- a/WHATS_NEW_DM
+++ b/WHATS_NEW_DM
@@ -1,3 +1,7 @@
+Version 1.02.77 -
+=================================
+ Fix memory leak in dmsetup _get_split_name() error path.
+
Version 1.02.76 - 7th August 2012
=================================
Add dm_vasprintf to libdevmapper.
diff --git a/tools/dmsetup.c b/tools/dmsetup.c
index 5422f0b..7a632c7 100644
--- a/tools/dmsetup.c
+++ b/tools/dmsetup.c
@@ -380,8 +380,10 @@ static struct dm_split_name *_get_split_name(const char *uuid, const char *name,
return NULL;
}
- if (!(split_name->subsystem = _extract_uuid_prefix(uuid, separator)))
+ if (!(split_name->subsystem = _extract_uuid_prefix(uuid, separator))) {
+ dm_free(split_name);
return_NULL;
+ }
split_name->vg_name = split_name->lv_name =
split_name->lv_layer = (char *) "";