mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-21 13:34:40 +03:00
Fix memory leaks in toolcontext error path.
E.g. # vgscan Parse error at byte 2360 (line 54): expected a value Failed to load config file /etc/lvm/lvm.conf You have a memory leak (not released memory pool): [0x818c788] library (12 bytes) ...
This commit is contained in:
parent
2565a5e528
commit
38ddfe7be5
@ -1,5 +1,6 @@
|
||||
Version 2.02.48 -
|
||||
===============================
|
||||
Fix memory leaks in toolcontext error path.
|
||||
Re-instate partial activation support in clustered mode. (2.02.40)
|
||||
Allow metadata correction even when PVs are missing.
|
||||
Use 'lvm lvresize' instead of 'lvresize' in fsadm.
|
||||
|
@ -516,15 +516,15 @@ static void _destroy_tag_configs(struct cmd_context *cmd)
|
||||
{
|
||||
struct config_tree_list *cfl;
|
||||
|
||||
dm_list_iterate_items(cfl, &cmd->config_files) {
|
||||
destroy_config_tree(cfl->cft);
|
||||
}
|
||||
|
||||
if (cmd->cft && cmd->cft->root) {
|
||||
destroy_config_tree(cmd->cft);
|
||||
cmd->cft = NULL;
|
||||
}
|
||||
|
||||
dm_list_iterate_items(cfl, &cmd->config_files) {
|
||||
destroy_config_tree(cfl->cft);
|
||||
}
|
||||
|
||||
dm_list_init(&cmd->config_files);
|
||||
}
|
||||
|
||||
@ -1110,6 +1110,14 @@ struct cmd_context *create_toolcontext(unsigned is_long_lived,
|
||||
return cmd;
|
||||
|
||||
error:
|
||||
_destroy_tag_configs(cmd);
|
||||
dev_cache_exit();
|
||||
if (cmd->filter)
|
||||
cmd->filter->destroy(cmd->filter);
|
||||
if (cmd->mem)
|
||||
dm_pool_destroy(cmd->mem);
|
||||
if (cmd->libmem)
|
||||
dm_pool_destroy(cmd->libmem);
|
||||
dm_free(cmd);
|
||||
return NULL;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user