summaryrefslogtreecommitdiffstats
path: root/src/install/dracut-install.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/install/dracut-install.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/install/dracut-install.c b/src/install/dracut-install.c
index 485143a..0c34363 100644
--- a/src/install/dracut-install.c
+++ b/src/install/dracut-install.c
@@ -608,7 +608,7 @@ static int resolve_deps(const char *src)
break;
if (strstr(buf, "cannot be preloaded"))
- break;
+ continue;
if (strstr(buf, destrootdir))
break;
@@ -828,7 +828,7 @@ static int dracut_install(const char *orig_src, const char *orig_dst, bool isdir
if (ret == 0) {
if (resolvedeps && S_ISREG(sb.st_mode) && (sb.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) {
log_debug("'%s' already exists, but checking for any deps", fulldstpath);
- ret = resolve_deps(fulldstpath + sysrootdirlen);
+ ret = resolve_deps(fullsrcpath + sysrootdirlen);
} else
log_debug("'%s' already exists", fulldstpath);
@@ -2275,6 +2275,17 @@ finish2:
hashmap_free(modules_suppliers);
hashmap_free(processed_suppliers);
+ if (arg_mod_filter_path)
+ regfree(&mod_filter_path);
+ if (arg_mod_filter_nopath)
+ regfree(&mod_filter_nopath);
+ if (arg_mod_filter_symbol)
+ regfree(&mod_filter_symbol);
+ if (arg_mod_filter_nosymbol)
+ regfree(&mod_filter_nosymbol);
+ if (arg_mod_filter_noname)
+ regfree(&mod_filter_noname);
+
strv_free(firmwaredirs);
strv_free(pathdirs);
return r;