]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
2007-04-13 Jakub Jelinek <jakub@redhat.com>
authorJakub Jelinek <jakub@redhat.com>
Thu, 12 Jul 2007 15:09:50 +0000 (15:09 +0000)
committerJakub Jelinek <jakub@redhat.com>
Thu, 12 Jul 2007 15:09:50 +0000 (15:09 +0000)
[BZ #4344]
* elf/ldconfig.c (search_dir): Fix 2 off-by-2 errors.
Reported by David Anderson <davea42@earthlink.net>.

ChangeLog
elf/ldconfig.c

index d7fbb6a01b2877e73a1a6d62062e503e8ee9eb5f..998be3adfa655232991afffd9f88eeee9cb8debc 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2007-04-13  Jakub Jelinek  <jakub@redhat.com>
+
+       [BZ #4344]
+       * elf/ldconfig.c (search_dir): Fix 2 off-by-2 errors.
+       Reported by David Anderson <davea42@earthlink.net>.
+
 2007-04-13  Jakub Jelinek  <jakub@redhat.com>
 
        * stdio-common/printf_fp.c (___printf_fp): Fix exponent -4
index 5b9a5b174455c0b1de2269dbf13ac22871e75489..7fdbe9da2ccccd711654dd933e55234eb370c216 100644 (file)
@@ -706,10 +706,10 @@ search_dir (const struct dir_entry *entry)
                         + 1, ".#prelink#.", sizeof (".#prelink#.") - 1) == 0)
            continue;
        }
-      len += strlen (entry->path);
+      len += strlen (entry->path) + 2;
       if (len > file_name_len)
        {
-         file_name_len = len + 1;
+         file_name_len = len;
          file_name = alloca (file_name_len);
          if (!opt_chroot)
            real_file_name = file_name;
@@ -717,10 +717,10 @@ search_dir (const struct dir_entry *entry)
       sprintf (file_name, "%s/%s", entry->path, direntry->d_name);
       if (opt_chroot)
        {
-         len = strlen (dir_name) + strlen (direntry->d_name);
+         len = strlen (dir_name) + strlen (direntry->d_name) + 2;
          if (len > real_file_name_len)
            {
-             real_file_name_len = len + 1;
+             real_file_name_len = len;
              real_file_name = alloca (real_file_name_len);
            }
          sprintf (real_file_name, "%s/%s", dir_name, direntry->d_name);