[lvm-devel] master - cov: fix failing filter initialization
Zdenek Kabelac
zkabelac at sourceware.org
Mon Oct 15 15:55:26 UTC 2018
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=13c49033ede4bb57878361e5ae04c96d4930e9fa
Commit: 13c49033ede4bb57878361e5ae04c96d4930e9fa
Parent: a7298810d1fd0f64be3fd903e9f9fcce9af7b84c
Author: Zdenek Kabelac <zkabelac at redhat.com>
AuthorDate: Mon Oct 15 15:17:07 2018 +0200
Committer: Zdenek Kabelac <zkabelac at redhat.com>
CommitterDate: Mon Oct 15 17:49:44 2018 +0200
cov: fix failing filter initialization
When persistent_filter_create() fails, the existing passed filter
should be preserved, so it could be properly deleted on
error path - so new pfilter is assigned instead.
---
lib/commands/toolcontext.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/lib/commands/toolcontext.c b/lib/commands/toolcontext.c
index fa87bcc..9f00593 100644
--- a/lib/commands/toolcontext.c
+++ b/lib/commands/toolcontext.c
@@ -1167,7 +1167,7 @@ bad:
*/
int init_filters(struct cmd_context *cmd, unsigned load_persistent_cache)
{
- struct dev_filter *filter = NULL, *filter_components[2] = {0};
+ struct dev_filter *pfilter, *filter = NULL, *filter_components[2] = {0};
if (!cmd->initialized.connections) {
log_error(INTERNAL_ERROR "connections must be initialized before filters");
@@ -1192,12 +1192,12 @@ int init_filters(struct cmd_context *cmd, unsigned load_persistent_cache)
filter = cmd->lvmetad_filter;
cmd->lvmetad_filter = NULL;
- if (!(filter = persistent_filter_create(cmd->dev_types, filter))) {
+ if (!(pfilter = persistent_filter_create(cmd->dev_types, filter))) {
log_verbose("Failed to create persistent device filter.");
goto bad;
}
- cmd->filter = filter;
+ cmd->filter = filter = pfilter;
cmd->full_filter = filter;
More information about the lvm-devel
mailing list