Page MenuHomeFreeBSD

D33898.diff
No OneTemporary

D33898.diff

diff --git a/sbin/ldconfig/elfhints.c b/sbin/ldconfig/elfhints.c
--- a/sbin/ldconfig/elfhints.c
+++ b/sbin/ldconfig/elfhints.c
@@ -62,6 +62,8 @@
{
struct stat stbuf;
int i;
+ int insert_at;
+ char *is_compat;
/* Do some security checks */
if (!trusted && !insecure) {
@@ -83,12 +85,22 @@
}
}
- for (i = 0; i < ndirs; i++)
+ is_compat = strstr(name, "/lib/compat");
+ insert_at = ndirs;
+ for (i = 0; i < ndirs; i++) {
if (strcmp(dirs[i], name) == 0)
return;
+ if (!is_compat && strstr(dirs[i], "/lib/compat"))
+ insert_at--;
+ }
if (ndirs >= MAXDIRS)
errx(1, "\"%s\": Too many directories in path", hintsfile);
- dirs[ndirs++] = name;
+
+ for (i = ndirs; i > insert_at; i--)
+ dirs[i] = dirs[i - 1];
+
+ dirs[insert_at] = name;
+ ndirs++;
}
void

File Metadata

Mime Type
text/plain
Expires
Wed, Jun 24, 2:16 AM (16 h, 28 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
34269253
Default Alt Text
D33898.diff (793 B)

Event Timeline