From: Zdenek Kabelac Date: Wed, 23 May 2012 13:02:36 +0000 (+0000) Subject: Fix error path X-Git-Tag: v2_02_96~16 X-Git-Url: https://sourceware.org/git/?a=commitdiff_plain;h=8cdb78d0dd6e8f9a8d130712c3ce5a676a8755c1;p=lvm2.git Fix error path Do not increase nr_filt in case of NULL ret value, since the error path doesn't handle NULL pointers. --- diff --git a/WHATS_NEW b/WHATS_NEW index c19646896..2e9f7102c 100644 --- a/WHATS_NEW +++ b/WHATS_NEW @@ -1,5 +1,6 @@ Version 2.02.96 - ================================ + Fix error paths for regex filter initialization. Re-enable partial activation of non-thin LVs until it can be fixed. (2.02.90) Fix alloc cling to cling to PVs already found with contiguous policy. Fix cling policy not to behave like normal policy if no previous LV seg. diff --git a/lib/commands/toolcontext.c b/lib/commands/toolcontext.c index a352afe37..78f0801e5 100644 --- a/lib/commands/toolcontext.c +++ b/lib/commands/toolcontext.c @@ -759,17 +759,19 @@ static struct dev_filter *_init_filter_components(struct cmd_context *cmd) log_very_verbose("devices/filter not found in config file: " "no regex filter installed"); - else if (!(filters[nr_filt++] = regex_filter_create(cn->v))) { + else if (!(filters[nr_filt] = regex_filter_create(cn->v))) { log_error("Failed to create regex device filter"); goto bad; - } + } else + nr_filt++; /* device type filter. Required. */ cn = find_config_tree_node(cmd, "devices/types"); - if (!(filters[nr_filt++] = lvm_type_filter_create(cmd->proc_dir, cn))) { + if (!(filters[nr_filt] = lvm_type_filter_create(cmd->proc_dir, cn))) { log_error("Failed to create lvm type filter"); goto bad; } + nr_filt++; /* md component filter. Optional, non-critical. */ if (find_config_tree_bool(cmd, "devices/md_component_detection",