View | Details | Raw Unified | Return to bug 221032
Collapse All | Expand All

(-)libexec/rtld-elf/rtld.c (-8 / +9 lines)
Lines 1516-1535 Link Here
1516
    bool nodeflib, objgiven;
1516
    bool nodeflib, objgiven;
1517
1517
1518
    objgiven = refobj != NULL;
1518
    objgiven = refobj != NULL;
1519
    if (strchr(xname, '/') != NULL) {	/* Hard coded pathname */
1519
1520
	if (xname[0] != '/' && !trust) {
1520
    if (libmap_disable || !objgiven ||
1521
	(name = lm_find(refobj->path, xname)) == NULL)
1522
	name = (char *)xname;
1523
1524
    if (strchr(name, '/') != NULL) {	/* Hard coded pathname */
1525
	if (name[0] != '/' && !trust) {
1521
	    _rtld_error("Absolute pathname required for shared object \"%s\"",
1526
	    _rtld_error("Absolute pathname required for shared object \"%s\"",
1522
	      xname);
1527
	      name);
1523
	    return NULL;
1528
	    return NULL;
1524
	}
1529
	}
1525
	return (origin_subst(__DECONST(Obj_Entry *, refobj),
1530
	return (origin_subst(__DECONST(Obj_Entry *, refobj),
1526
	  __DECONST(char *, xname)));
1531
	  __DECONST(char *, name)));
1527
    }
1532
    }
1528
1533
1529
    if (libmap_disable || !objgiven ||
1530
	(name = lm_find(refobj->path, xname)) == NULL)
1531
	name = (char *)xname;
1532
1533
    dbg(" Searching for \"%s\"", name);
1534
    dbg(" Searching for \"%s\"", name);
1534
1535
1535
    /*
1536
    /*

Return to bug 221032