summaryrefslogtreecommitdiff
path: root/modutils
diff options
context:
space:
mode:
Diffstat (limited to 'modutils')
-rw-r--r--modutils/modprobe.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/modutils/modprobe.c b/modutils/modprobe.c
index ec490b7..997ee3c 100644
--- a/modutils/modprobe.c
+++ b/modutils/modprobe.c
@@ -220,8 +220,16 @@ static int FAST_FUNC config_file_action(const char *filename,
parser_t *p;
struct module_entry *m;
int rc = TRUE;
+ const char *base, *ext;
- if (bb_basename(filename)[0] == '.')
+ /* Skip files that begin with a ".". */
+ base = bb_basename(filename);
+ if (base[0] == '.')
+ goto error;
+
+ /* Skip files that do not end with a ".conf". */
+ ext = strrchr(base, '.');
+ if (ext == NULL || strcmp(ext + 1, "conf"))
goto error;
p = config_open2(filename, fopen_for_read);