summaryrefslogtreecommitdiffstats
path: root/src/install
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/install/dracut-install.c15
-rw-r--r--src/install/util.h2
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)
{