kconfig: avoid using wordexp
OpenBSD refuses to implement it due to security concerns, so use glob instead. Change-Id: I7531cfe91deff240f7874d94d5acb340b87e51b6 Signed-off-by: Patrick Georgi <patrick@georgi-clan.de> Reviewed-on: http://review.coreboot.org/10028 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
This commit is contained in:
parent
2204539329
commit
d36b80c791
|
@ -8,12 +8,12 @@
|
|||
* Released under the terms of the GNU GPL v2.0.
|
||||
*/
|
||||
|
||||
#include <glob.h>
|
||||
#include <limits.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
#include <wordexp.h>
|
||||
|
||||
#include "lkc.h"
|
||||
|
||||
|
@ -339,17 +339,23 @@ void zconf_nextfile(const char *name)
|
|||
|
||||
void zconf_nextfiles(const char *wildcard)
|
||||
{
|
||||
wordexp_t p;
|
||||
glob_t g;
|
||||
char **w;
|
||||
int i;
|
||||
|
||||
wordexp(wildcard, &p, 0);
|
||||
w = p.we_wordv;
|
||||
if (glob(wildcard, 0, NULL, &g) != 0) {
|
||||
return;
|
||||
}
|
||||
if (g.gl_pathv == NULL) {
|
||||
globfree(&g);
|
||||
return;
|
||||
}
|
||||
|
||||
for (i = p.we_wordc - 1; i >= 0; i--)
|
||||
zconf_nextfile(w[i]);
|
||||
w = g.gl_pathv;
|
||||
while (*w)
|
||||
zconf_nextfile(*w++);
|
||||
|
||||
wordfree(&p);
|
||||
globfree(&g);
|
||||
}
|
||||
|
||||
static void zconf_endfile(void)
|
||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue