From 0e4dae3d77f67bed0cd29c98b67b86c7d9853ac9 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Sun, 26 Jun 2011 21:36:44 -0400 Subject: [PATCH] in dlopen: don't use null pointer deps can be null if a library has no dependencies (such as libc itself) --- src/ldso/dynlink.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/ldso/dynlink.c b/src/ldso/dynlink.c index 305d70e0..a23390e1 100644 --- a/src/ldso/dynlink.c +++ b/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; } -- 2.25.1