diff options
author | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-01-04 19:00:06 +0000 |
---|---|---|
committer | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-01-04 19:00:06 +0000 |
commit | f704b2281066c6c04a6c065d5dc4f89ab96f028e (patch) | |
tree | 78e3ea101be60bad4f19246b67a10237c11f3eaf /libiberty | |
parent | 370a62b6c59c8846728caa982424211d8081f898 (diff) | |
download | gcc-f704b2281066c6c04a6c065d5dc4f89ab96f028e.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194914 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libiberty')
-rw-r--r-- | libiberty/ChangeLog | 6 | ||||
-rw-r--r-- | libiberty/simple-object-mach-o.c | 5 |
2 files changed, 9 insertions, 2 deletions
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index 0875603bc75..4479c77f274 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -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. diff --git a/libiberty/simple-object-mach-o.c b/libiberty/simple-object-mach-o.c index af5e4f9ca88..6fde6722bef 100644 --- a/libiberty/simple-object-mach-o.c +++ b/libiberty/simple-object-mach-o.c @@ -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, |