From aab2f0047212f9f3e647b2e759baf78486c3daa5 Mon Sep 17 00:00:00 2001 From: Pedro Alves Date: Thu, 13 Dec 2012 15:11:36 +0000 Subject: [PATCH] 2012-12-13 Pedro Alves * coff-pe-read.c: Include coff/internal.h. (read_pe_exported_syms): Use SCNNMLEN instead of hardcoded 8. Null terminate buffer explicitly instead of memset the whole buffer. --- gdb/ChangeLog | 7 +++++++ gdb/coff-pe-read.c | 7 ++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 84a1390..2639cc5 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,10 @@ +2012-12-13 Pedro Alves + + * coff-pe-read.c: Include coff/internal.h. + (read_pe_exported_syms): Use SCNNMLEN instead of hardcoded 8. + Null terminate buffer explicitly instead of memset the whole + buffer. + 2012-12-13 Pierre Muller * coff-pe-read.c (IMAGE_SCN_CNT_TEXT, IMAGE_SCN_CNT_INITIALIZED_DATA) diff --git a/gdb/coff-pe-read.c b/gdb/coff-pe-read.c index 01b5b82..679ca31 100644 --- a/gdb/coff-pe-read.c +++ b/gdb/coff-pe-read.c @@ -34,6 +34,7 @@ #include "symfile.h" #include "objfiles.h" #include "common/common-utils.h" +#include "coff/internal.h" #include @@ -458,12 +459,12 @@ read_pe_exported_syms (struct objfile *objfile) unsigned long vsize = pe_get32 (dll, secptr1 + 8); unsigned long vaddr = pe_get32 (dll, secptr1 + 12); unsigned long characteristics = pe_get32 (dll, secptr1 + 36); - char sec_name[9]; + char sec_name[SCNNMLEN + 1]; int sectix; - memset (sec_name, 0, sizeof (sec_name)); bfd_seek (dll, (file_ptr) secptr1 + 0, SEEK_SET); - bfd_bread (sec_name, (bfd_size_type) 8, dll); + bfd_bread (sec_name, (bfd_size_type) SCNNMLEN, dll); + sec_name[SCNNMLEN] = '\0'; sectix = read_pe_section_index (sec_name); -- 2.7.4