summaryrefslogtreecommitdiff
path: root/lib/unknown
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2018-02-13 19:06:35 +0100
committerZdenek Kabelac <zkabelac@redhat.com>2018-02-13 19:11:28 +0100
commit0eb9daf602281d233c83e5823b3c6297fb541deb (patch)
tree3edb7640e64673d586a53a00ef3659c71b1be699 /lib/unknown
parent32febed8d55d0761fdbe86015c02da90e026b359 (diff)
downloadlvm2-0eb9daf602281d233c83e5823b3c6297fb541deb.tar.gz
segtype: no libmem pool usage for name allocation
Allocate name with plain malloc & free.
Diffstat (limited to 'lib/unknown')
-rw-r--r--lib/unknown/unknown.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/unknown/unknown.c b/lib/unknown/unknown.c
index 68d11c325..8f6083a95 100644
--- a/lib/unknown/unknown.c
+++ b/lib/unknown/unknown.c
@@ -49,6 +49,7 @@ static int _unknown_text_export(const struct lv_segment *seg, struct formatter *
static void _unknown_destroy(struct segment_type *segtype)
{
+ dm_free(segtype->name);
dm_free(segtype);
}
@@ -68,7 +69,12 @@ struct segment_type *init_unknown_segtype(struct cmd_context *cmd, const char *n
}
segtype->ops = &_unknown_ops;
- segtype->name = dm_pool_strdup(cmd->libmem, name);
+ if (!(segtype->name = dm_strdup(name))) {
+ log_error("Failed to allocate name.");
+ dm_free(segtype);
+ return NULL;
+ }
+
segtype->flags = SEG_UNKNOWN | SEG_VIRTUAL | SEG_CANNOT_BE_ZEROED;
log_very_verbose("Initialised segtype: %s", segtype->name);