Browse Source

handle library paths better (ignore empty path components, etc.)

rs-1.0
Rich Felker 15 years ago
parent
commit
49388f3b7b
  1. 8
      src/ldso/dynlink.c

8
src/ldso/dynlink.c

@ -208,15 +208,17 @@ static void *map_library(int fd, size_t *lenp, unsigned char **basep, size_t *dy
static int path_open(const char *name, const char *search)
{
char buf[2*NAME_MAX+2];
const char *s, *z;
const char *s=search, *z;
int l, fd;
for (s=search; *s; s+=l+!!z) {
for (;;) {
while (*s==':') s++;
if (!*s) return -1;
z = strchr(s, ':');
l = z ? z-s : strlen(s);
snprintf(buf, sizeof buf, "%.*s/%s", l, s, name);
if ((fd = open(buf, O_RDONLY))>=0) return fd;
s += l;
}
return -1;
}
static struct dso *load_library(const char *name)

Loading…
Cancel
Save