diff options
Diffstat (limited to '')
-rw-r--r-- | src/install/dracut-install.c | 15 |
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; |