From: Denis Vlasenko Date: Sun, 6 Jul 2008 11:52:23 +0000 (-0000) Subject: modprobe-small: match aliases with fnmatch(), making X-Git-Tag: 1_12_0~236 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=58f59a25ee82dea19aeee082f52846244929a95e;p=oweals%2Fbusybox.git modprobe-small: match aliases with fnmatch(), making shell pattern-specified alias names in module bodies work. --- diff --git a/modutils/modprobe-small.c b/modutils/modprobe-small.c index 3aa06d57e..e82ee4cef 100644 --- a/modutils/modprobe-small.c +++ b/modutils/modprobe-small.c @@ -385,7 +385,11 @@ static module_info* find_alias(const char *alias) /* Does matching substring exist? */ replace(desc, ' ', '\0'); for (s = desc; *s; s += strlen(s) + 1) { - if (strcmp(s, alias) == 0) { + /* aliases in module bodies can be defined with + * shell patterns. Example: + * "pci:v000010DEd000000D9sv*sd*bc*sc*i*". + * Plain strcmp() won't catch that */ + if (fnmatch(s, alias, 0) == 0) { free(desc); dbg1_error_msg("found alias '%s' in module '%s'", alias, modinfo[i].pathname);