summaryrefslogtreecommitdiff
path: root/packages/glibc/glibc-cvs/ldconfig.patch
diff options
context:
space:
mode:
Diffstat (limited to 'packages/glibc/glibc-cvs/ldconfig.patch')
-rw-r--r--packages/glibc/glibc-cvs/ldconfig.patch37
1 files changed, 37 insertions, 0 deletions
diff --git a/packages/glibc/glibc-cvs/ldconfig.patch b/packages/glibc/glibc-cvs/ldconfig.patch
index e69de29bb2..c60b9b1432 100644
--- a/packages/glibc/glibc-cvs/ldconfig.patch
+++ b/packages/glibc/glibc-cvs/ldconfig.patch
@@ -0,0 +1,37 @@
+--- elf/ldconfig.c 2003-07-08 23:26:27.000000000 +0900
++++ elf/ldconfig.c.debian 2003-07-08 23:29:43.000000000 +0900
+@@ -920,26 +920,24 @@
+ {
+ FILE *file = NULL;
+ char *line = NULL;
+- const char *canon;
++ const char *canon = filename;
+ size_t len = 0;
++ int file_fd;
+
+ if (opt_chroot)
+ {
+ canon = chroot_canon (opt_chroot, filename);
+- if (canon)
+- file = fopen (canon, "r");
+- else
++ if (!canon)
+ canon = filename;
+ }
+- else
+- {
+- canon = filename;
+- file = fopen (filename, "r");
+- }
++
++ if ((file_fd = open(canon, O_RDONLY | O_EXCL, 0022)) != -1)
++ file = fdopen (file_fd, "r");
+
+ if (file == NULL)
+ {
+- error (0, errno, _("Can't open configuration file %s"), canon);
++ if (opt_verbose)
++ error (0, errno, _("Can't open configuration file %s"), canon);
+ if (canon != filename)
+ free ((char *) canon);
+ return;