PR other/54800
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 4 Jan 2013 19:00:06 +0000 (19:00 +0000)
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 4 Jan 2013 19:00:06 +0000 (19:00 +0000)
* simple-object-mach-o.c (simple_object_mach_o_segment): Don't
bother to zero out a buffer we are about to set anyhow.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194914 138bc75d-0d04-0410-961f-82ee72b054a4

libiberty/ChangeLog
libiberty/simple-object-mach-o.c

index 0875603..4479c77 100644 (file)
@@ -1,3 +1,9 @@
+2013-01-04  Ian Lance Taylor  <iant@google.com>
+
+       PR other/54800
+       * simple-object-mach-o.c (simple_object_mach_o_segment): Don't
+       bother to zero out a buffer we are about to set anyhow.
+
 2013-01-01  David Edelsohn  <dje.gcc@gmail.com>
 
        * simple-object-xcoff.c: New file.
index af5e4f9..6fde672 100644 (file)
@@ -1,5 +1,5 @@
 /* simple-object-mach-o.c -- routines to manipulate Mach-O object files.
-   Copyright 2010, 2011 Free Software Foundation, Inc.
+   Copyright 2010, 2011, 2013 Free Software Foundation, Inc.
    Written by Ian Lance Taylor, Google.
 
 This program is free software; you can redistribute it and/or modify it
@@ -701,12 +701,13 @@ simple_object_mach_o_segment (simple_object_read *sobj, off_t offset,
           /* Otherwise, make a name like __segment,__section as per the
              convention in mach-o asm.  */
          name = &namebuf[0];
-         memset (namebuf, 0, MACH_O_NAME_LEN * 2 + 2);
          memcpy (namebuf, (char *) sechdr + segname_offset, MACH_O_NAME_LEN);
+         namebuf[MACH_O_NAME_LEN] = '\0';
          l = strlen (namebuf);
          namebuf[l] = ',';
          memcpy (namebuf + l + 1, (char *) sechdr + sectname_offset,
                  MACH_O_NAME_LEN);
+         namebuf[l + 1 + MACH_O_NAME_LEN] = '\0';
        }
 
       simple_object_mach_o_section_info (omr->is_big_endian, is_32, sechdr,