diff options
-rw-r--r-- | include/perk/perk_meta.h | 1 | ||||
-rw-r--r-- | src/reader/pe_read_coff_symbol.c | 4 |
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]) |