diff options
| author | Mike Frysinger <vapier@gentoo.org> | 2016-02-12 23:26:51 -0500 |
|---|---|---|
| committer | Mike Frysinger <vapier@gentoo.org> | 2016-02-12 23:26:51 -0500 |
| commit | 3a5cc989025eefe03fda0552b253a4a8f015a761 (patch) | |
| tree | 30a9aff158adbf1792a23de9aa229b80ff3c5568 /modutils | |
| parent | 43e56639c6739953d5a6686823bcd0d256512ea5 (diff) | |
| download | busybox-w32-3a5cc989025eefe03fda0552b253a4a8f015a761.tar.gz busybox-w32-3a5cc989025eefe03fda0552b253a4a8f015a761.tar.bz2 busybox-w32-3a5cc989025eefe03fda0552b253a4a8f015a761.zip | |
modprobe: only parse files that end in .conf
This matches behavior with kmod which has been the standard for a long
time at this point.
URL: https://bugs.busybox.net/8021
Reported-by: Jö <jorrit@jorrit.de>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'modutils')
| -rw-r--r-- | modutils/modprobe.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/modutils/modprobe.c b/modutils/modprobe.c index ec490b74d..997ee3c67 100644 --- a/modutils/modprobe.c +++ b/modutils/modprobe.c | |||
| @@ -220,8 +220,16 @@ static int FAST_FUNC config_file_action(const char *filename, | |||
| 220 | parser_t *p; | 220 | parser_t *p; |
| 221 | struct module_entry *m; | 221 | struct module_entry *m; |
| 222 | int rc = TRUE; | 222 | int rc = TRUE; |
| 223 | const char *base, *ext; | ||
| 223 | 224 | ||
| 224 | if (bb_basename(filename)[0] == '.') | 225 | /* Skip files that begin with a ".". */ |
| 226 | base = bb_basename(filename); | ||
| 227 | if (base[0] == '.') | ||
| 228 | goto error; | ||
| 229 | |||
| 230 | /* Skip files that do not end with a ".conf". */ | ||
| 231 | ext = strrchr(base, '.'); | ||
| 232 | if (ext == NULL || strcmp(ext + 1, "conf")) | ||
| 225 | goto error; | 233 | goto error; |
| 226 | 234 | ||
| 227 | p = config_open2(filename, fopen_for_read); | 235 | p = config_open2(filename, fopen_for_read); |
