Page MenuHomeFreeBSD

D33898.id101457.diff
No OneTemporary

D33898.id101457.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
Thu, Jun 25, 7:44 AM (18 h, 24 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
34312421
Default Alt Text
D33898.id101457.diff (793 B)

Event Timeline