From: Jakub Jelinek Date: Fri, 13 Apr 2007 19:53:20 +0000 (+0000) Subject: [BZ #4344] X-Git-Tag: cvs/fedora-glibc-20070416T2350~11 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=30a3aa753041e9506b6183dc1ad06257f7693192;p=thirdparty%2Fglibc.git [BZ #4344] * elf/ldconfig.c (search_dir): Fix 2 off-by-2 errors. Reported by David Anderson . 2007-04-13 Jakub Jelinek [BZ #4344] * elf/ldconfig.c (search_dir): Fix 2 off-by-2 errors. Reported by David Anderson . --- diff --git a/ChangeLog b/ChangeLog index 0690c00cc29..566abf30fb6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2007-04-13 Jakub Jelinek + + [BZ #4344] + * elf/ldconfig.c (search_dir): Fix 2 off-by-2 errors. + Reported by David Anderson . + 2007-04-07 Ulrich Drepper * posix/sys/wait.h: Remove unnecessary forward declaration. diff --git a/elf/ldconfig.c b/elf/ldconfig.c index ec81cbb8179..44ccc1a3d4b 100644 --- a/elf/ldconfig.c +++ b/elf/ldconfig.c @@ -707,10 +707,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; @@ -718,10 +718,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);