From: Harald Hoyer Date: Wed, 3 Oct 2012 20:37:23 +0000 (-0400) Subject: install/dracut-install.c: do not ldd directories X-Git-Tag: 024~41 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=43a050e54208a228bb982860fcd6e2faae8a2acc;p=thirdparty%2Fdracut.git install/dracut-install.c: do not ldd directories --- diff --git a/install/dracut-install.c b/install/dracut-install.c index 60a62e8b6..8aa0e2e57 100644 --- a/install/dracut-install.c +++ b/install/dracut-install.c @@ -291,6 +291,9 @@ static int resolve_deps(const char *src) if (strstr(buf, "loader cannot load itself")) break; + if (strstr(buf, "not regular file")) + break; + p = strstr(buf, "/"); if (p) { int r; @@ -408,7 +411,7 @@ static int dracut_install(const char *src, const char *dst, bool isdir, bool res } if (ret == 0) { - if (resolvedeps) { + 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(src); } else