summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/perk/perk_meta.h1
-rw-r--r--src/reader/pe_read_coff_symbol.c4
2 files changed, 5 insertions, 0 deletions
diff --git a/include/perk/perk_meta.h b/include/perk/perk_meta.h
index a798426..909bd54 100644
--- a/include/perk/perk_meta.h
+++ b/include/perk/perk_meta.h
@@ -258,6 +258,7 @@ struct pe_meta_coff_symbol {
uint16_t cs_type;
unsigned char cs_storage_class;
unsigned char cs_num_of_aux_symbols;
+ const void * cs_aux_recs;
char cs_name_buf[24];
};
diff --git a/src/reader/pe_read_coff_symbol.c b/src/reader/pe_read_coff_symbol.c
index 965e2c5..41dc071 100644
--- a/src/reader/pe_read_coff_symbol.c
+++ b/src/reader/pe_read_coff_symbol.c
@@ -28,9 +28,13 @@ int pe_read_coff_symbol(
m->cs_type = pe_read_short(p->cs_type);
m->cs_storage_class = p->cs_storage_class[0];
m->cs_num_of_aux_symbols = p->cs_num_of_aux_symbols[0];
+ m->cs_aux_recs = 0;
memset(m->cs_name_buf,0,sizeof(m->cs_name_buf));
+ if (m->cs_num_of_aux_symbols)
+ m->cs_aux_recs = &p[1].cs_name[0];
+
if (p->cs_storage_class[0] == PE_IMAGE_SYM_CLASS_FILE)
if (p->cs_num_of_aux_symbols[0])
if (!p[1].cs_value[0])