[lvm-devel] master - hints: free hint structs on exit
David Teigland
teigland at sourceware.org
Wed May 13 22:27:24 UTC 2020
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=5c095400de2f84511726cc8178800d19657b814d
Commit: 5c095400de2f84511726cc8178800d19657b814d
Parent: 2f29765e7fd1135d070310683cf486f07d041c81
Author: David Teigland <teigland at redhat.com>
AuthorDate: Wed May 13 17:19:41 2020 -0500
Committer: David Teigland <teigland at redhat.com>
CommitterDate: Wed May 13 17:20:16 2020 -0500
hints: free hint structs on exit
and free on a couple error paths.
---
lib/commands/toolcontext.c | 1 +
lib/label/hints.c | 3 +++
2 files changed, 4 insertions(+)
diff --git a/lib/commands/toolcontext.c b/lib/commands/toolcontext.c
index 2bd7fabd2..63b6811e5 100644
--- a/lib/commands/toolcontext.c
+++ b/lib/commands/toolcontext.c
@@ -1598,6 +1598,7 @@ struct cmd_context *create_toolcontext(unsigned is_clvmd,
dm_list_init(&cmd->formats);
dm_list_init(&cmd->segtypes);
dm_list_init(&cmd->tags);
+ dm_list_init(&cmd->hints);
dm_list_init(&cmd->config_files);
label_init();
diff --git a/lib/label/hints.c b/lib/label/hints.c
index 349d5aaef..9546f4880 100644
--- a/lib/label/hints.c
+++ b/lib/label/hints.c
@@ -351,6 +351,7 @@ static void _unlock_hints(struct cmd_context *cmd)
void hints_exit(struct cmd_context *cmd)
{
+ free_hints(&cmd->hints);
if (_hints_fd == -1)
return;
return _unlock_hints(cmd);
@@ -1321,6 +1322,7 @@ int get_hints(struct cmd_context *cmd, struct dm_list *hints_out, int *newhints,
*/
if (!_read_hint_file(cmd, &hints_list, &needs_refresh)) {
log_debug("get_hints: read fail");
+ free_hints(&hints_list);
_unlock_hints(cmd);
return 0;
}
@@ -1333,6 +1335,7 @@ int get_hints(struct cmd_context *cmd, struct dm_list *hints_out, int *newhints,
*/
if (needs_refresh) {
log_debug("get_hints: needs refresh");
+ free_hints(&hints_list);
if (!_lock_hints(cmd, LOCK_EX, NONBLOCK))
return 0;
More information about the lvm-devel
mailing list