mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-21 13:34:40 +03:00
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.
This commit is contained in:
parent
a7298810d1
commit
13c49033ed
@ -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;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user