--- 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;