summaryrefslogtreecommitdiffstats
path: root/src/install/dracut-install.c
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-03 14:01:35 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-03 14:01:35 +0000
commite6f2eaf47a177a8eca054d1d70a1b6287e8c3521 (patch)
treec5719e819a9e37df4b54affd61438f382ec38a8f /src/install/dracut-install.c
parentAdding upstream version 060+5. (diff)
downloaddracut-e6f2eaf47a177a8eca054d1d70a1b6287e8c3521.tar.xz
dracut-e6f2eaf47a177a8eca054d1d70a1b6287e8c3521.zip
Adding upstream version 102.upstream/102
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/install/dracut-install.c')
-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;