diff options
Diffstat (limited to '')
-rw-r--r-- | src/install/dracut-install.c | 15 | ||||
-rw-r--r-- | src/install/util.h | 2 |
2 files changed, 14 insertions, 3 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; diff --git a/src/install/util.h b/src/install/util.h index f022f15..358afc8 100644 --- a/src/install/util.h +++ b/src/install/util.h @@ -113,7 +113,7 @@ bool streq_ptr(const char *a, const char *b); #define newdup(t, p, n) ((t*) memdup(p, sizeof(t)*(n))) -#define malloc0(n) (calloc((n), 1)) +#define malloc0(n) (calloc(1, (n))) static inline const char *yes_no(bool b) { |