Browse Source

plugin: Ignore directories in the plugin-directory

They pass the executable test, but aren't really executable.

Signed-off-by: Christian Decker <decker.christian@gmail.com>
plugin-6
Christian Decker 6 years ago
committed by Rusty Russell
parent
commit
83ecb61890
  1. 6
      lightningd/plugin.c

6
lightningd/plugin.c

@ -664,7 +664,11 @@ static const char *plugin_fullpath(const tal_t *ctx, const char *dir,
fullname = path_join(ctx, dir, basename);
if (stat(fullname, &st) != 0)
return tal_free(fullname);
if (!(st.st_mode & (S_IXUSR|S_IXGRP|S_IXOTH)))
if (!(st.st_mode & (S_IXUSR|S_IXGRP|S_IXOTH)) || st.st_mode & S_IFDIR)
return tal_free(fullname);
/* Ignore directories, they have exec mode, but aren't executable. */
if (st.st_mode & S_IFDIR)
return tal_free(fullname);
return fullname;
}

Loading…
Cancel
Save