diff --git a/lib/format1/format1.c b/lib/format1/format1.c index 9d48cf0a5..89365b380 100644 --- a/lib/format1/format1.c +++ b/lib/format1/format1.c @@ -376,7 +376,7 @@ static struct list *_get_vgs(struct format_type *fmt, struct list *names) } if (list_empty(names)) - goto err; + pool_free(fmt->cmd->mem, pvs); return names; diff --git a/lib/metadata/metadata.c b/lib/metadata/metadata.c index b8a55e65f..aa5616fcd 100644 --- a/lib/metadata/metadata.c +++ b/lib/metadata/metadata.c @@ -512,7 +512,8 @@ struct list *get_vgs(struct cmd_context *cmd) list_init(names); if (!cmd->fmt1->ops->get_vgs(cmd->fmt1, names) || - !cmd->fmtt->ops->get_vgs(cmd->fmtt, names)) { + !cmd->fmtt->ops->get_vgs(cmd->fmtt, names) || + list_empty(names)) { pool_free(cmd->mem, names); return NULL; }