aboutsummaryrefslogtreecommitdiff
path: root/gas/config/obj-elf.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2001-11-13 03:24:25 +0000
committerAlan Modra <amodra@gmail.com>2001-11-13 03:24:25 +0000
commite4afe7429548beac154bb41d8f553d614a222d17 (patch)
tree70be4b615c00d91a94c8a6433eb0517631f1805c /gas/config/obj-elf.c
parent0cb2e7c50f6723f6ad9a492425a4826a963b36ba (diff)
downloadfsf-binutils-gdb-e4afe7429548beac154bb41d8f553d614a222d17.zip
fsf-binutils-gdb-e4afe7429548beac154bb41d8f553d614a222d17.tar.gz
fsf-binutils-gdb-e4afe7429548beac154bb41d8f553d614a222d17.tar.bz2
* config/obj-elf.c (obj_elf_version): Ensure terminating NUL is
put in note section. Use sizeof instead of hard-coded constants.
Diffstat (limited to 'gas/config/obj-elf.c')
-rw-r--r--gas/config/obj-elf.c18
1 files changed, 6 insertions, 12 deletions
diff --git a/gas/config/obj-elf.c b/gas/config/obj-elf.c
index 7b6c5b2..3c4531e 100644
--- a/gas/config/obj-elf.c
+++ b/gas/config/obj-elf.c
@@ -1417,14 +1417,13 @@ obj_elf_version (ignore)
{
char *name;
unsigned int c;
- char ch;
char *p;
asection *seg = now_seg;
subsegT subseg = now_subseg;
Elf_Internal_Note i_note;
Elf_External_Note e_note;
asection *note_secp = (asection *) NULL;
- int i, len;
+ int len;
SKIP_WHITESPACE ();
if (*input_line_pointer == '\"')
@@ -1454,19 +1453,14 @@ obj_elf_version (ignore)
i_note.descsz = 0; /* no description */
i_note.type = NT_VERSION;
p = frag_more (sizeof (e_note.namesz));
- md_number_to_chars (p, (valueT) i_note.namesz, 4);
+ md_number_to_chars (p, (valueT) i_note.namesz, sizeof (e_note.namesz));
p = frag_more (sizeof (e_note.descsz));
- md_number_to_chars (p, (valueT) i_note.descsz, 4);
+ md_number_to_chars (p, (valueT) i_note.descsz, sizeof (e_note.descsz));
p = frag_more (sizeof (e_note.type));
- md_number_to_chars (p, (valueT) i_note.type, 4);
+ md_number_to_chars (p, (valueT) i_note.type, sizeof (e_note.type));
+ p = frag_more (len + 1);
+ strcpy (p, name);
- for (i = 0; i < len; i++)
- {
- ch = *(name + i);
- {
- FRAG_APPEND_1_CHAR (ch);
- }
- }
frag_align (2, 0, 0);
subseg_set (seg, subseg);