diff options
| -rw-r--r-- | src/ldso/dynlink.c | 3 | 
1 files changed, 2 insertions, 1 deletions
| diff --git a/src/ldso/dynlink.c b/src/ldso/dynlink.c index b51ae77f..02c880b4 100644 --- a/src/ldso/dynlink.c +++ b/src/ldso/dynlink.c @@ -723,7 +723,7 @@ static void *do_dlsym(struct dso *p, const char *s, void *ra)  	}  	if (p == head || p == RTLD_DEFAULT) {  		void *res = find_sym(head, s, 0); -		if (!res) errflag = 1; +		if (!res) goto failed;  		return res;  	}  	h = hash(s); @@ -736,6 +736,7 @@ static void *do_dlsym(struct dso *p, const char *s, void *ra)  		if (sym && sym->st_value && (1<<(sym->st_info&0xf) & OK_TYPES))  			return p->deps[i]->base + sym->st_value;  	} +failed:  	errflag = 1;  	snprintf(errbuf, sizeof errbuf, "Symbol not found: %s", s);  	return 0; | 
