2011-07-23 Paul Pluzhnikov <ppluzhnikov@google.com>
authorPaul Pluzhnikov <ppluzhnikov@google.com>
Sat, 23 Jul 2011 16:49:16 +0000 (16:49 +0000)
committerPaul Pluzhnikov <ppluzhnikov@google.com>
Sat, 23 Jul 2011 16:49:16 +0000 (16:49 +0000)
* elfread.c (elf_rel_plt_read): Fix off-by-one bug.

gdb/ChangeLog
gdb/elfread.c

index e8b5d057c360c5e52fe008a8fa9ddcf2d85e83b8..3ba870bb894d8750df36ae929e2bc3effa5dd87b 100644 (file)
@@ -1,3 +1,7 @@
+2011-07-23  Paul Pluzhnikov  <ppluzhnikov@google.com>
+
+       * elfread.c (elf_rel_plt_read): Fix off-by-one bug.
+
 2011-07-22  Pedro Alves  <pedro@codesourcery.com>
 
        * i386-nat.c (I386_DR_VACANT, I386_DR_LOCAL_ENABLE)
index 825df0f1da67b962002cdc7cbfcd0b0632162d1d..ab6dbe3c0e607977283e42e182fbc3f7371e1b04 100644 (file)
@@ -667,14 +667,14 @@ elf_rel_plt_read (struct objfile *objfile, asymbol **dyn_symbol_table)
         OBJFILE the symbol is undefined and the objfile having NAME defined
         may not yet have been loaded.  */
 
-      if (string_buffer_size < name_len + got_suffix_len)
+      if (string_buffer_size < name_len + got_suffix_len + 1)
        {
          string_buffer_size = 2 * (name_len + got_suffix_len);
          string_buffer = xrealloc (string_buffer, string_buffer_size);
        }
       memcpy (string_buffer, name, name_len);
       memcpy (&string_buffer[name_len], SYMBOL_GOT_PLT_SUFFIX,
-             got_suffix_len);
+             got_suffix_len + 1);
 
       msym = record_minimal_symbol (string_buffer, name_len + got_suffix_len,
                                     1, address, mst_slot_got_plt, got_plt,