Browse Source

in dlopen: don't use null pointer

deps can be null if a library has no dependencies (such as libc itself)
rs-1.0
Rich Felker 15 years ago
parent
commit
0e4dae3d77
  1. 6
      src/ldso/dynlink.c

6
src/ldso/dynlink.c

@ -514,19 +514,19 @@ void *dlopen(const char *file, int mode)
/* First load handling */
if (!p->deps) {
load_deps(p);
for (i=0; p->deps[i]; i++)
if (p->deps) for (i=0; p->deps[i]; i++)
if (!p->deps[i]->global)
p->deps[i]->global = -1;
if (!p->global) p->global = -1;
reloc_all(p);
for (i=0; p->deps[i]; i++)
if (p->deps) for (i=0; p->deps[i]; i++)
if (p->deps[i]->global < 0)
p->deps[i]->global = 0;
if (p->global < 0) p->global = 0;
}
if (mode & RTLD_GLOBAL) {
for (i=0; p->deps[i]; i++)
if (p->deps) for (i=0; p->deps[i]; i++)
p->deps[i]->global = 1;
p->global = 1;
}

Loading…
Cancel
Save