On Fri, 2020-02-07 at 11:45 -0300, Enzo Matsumiya wrote: > If config_dir contains a file named, for example, "some.conf.backup", > this file > will still be loaded by multipath because process_config_dir() > (libmultipath/config.c) uses strstr() to check for the ".conf" > extension, but > that doesn't guarantee that ".conf" is at the end of the filename. > > This patch will make sure that only files ending in ".conf" are > loaded from > config_dir. > > This is to comply with config_dir entry description in man 5 > multipath.conf. > > Signed-off-by: Enzo Matsumiya <ematsumiya@xxxxxxx> > --- > libmultipath/config.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/libmultipath/config.c b/libmultipath/config.c > index 20e3b8bf..4785ade8 100644 > --- a/libmultipath/config.c > +++ b/libmultipath/config.c > @@ -671,8 +671,11 @@ process_config_dir(struct config *conf, vector > keywords, char *dir) > sr.n = n; > pthread_cleanup_push_cast(free_scandir_result, &sr); > for (i = 0; i < n; i++) { > - if (!strstr(namelist[i]->d_name, ".conf")) > + char *ext = strrchr(namelist[i]->d_name, '.'); > + > + if (!ext || strcmp(ext, ".conf")) > continue; > + > old_hwtable_size = VECTOR_SIZE(conf->hwtable); > snprintf(path, LINE_MAX, "%s/%s", dir, namelist[i]- > >d_name); > path[LINE_MAX-1] = '\0'; Reviewed-by: Martin Wilck <mwilck@xxxxxxxx> -- Dr. Martin Wilck <mwilck@xxxxxxxx>, Tel. +49 (0)911 74053 2107 SUSE Software Solutions Germany GmbH HRB 36809, AG Nürnberg GF: Felix Imendörffer -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel