summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2025-06-07 15:05:54 +0000
committermidipix <writeonce@midipix.org>2025-06-07 15:20:07 +0000
commit8db559ac093a6df8ede582f9139908885e7f3e65 (patch)
treec9049222d54d7eba662ee6ede9c9ee88aaa50bea
parente5823e2b6269c82dc348bece70a40b1d96520c25 (diff)
downloadperk-8db559ac093a6df8ede582f9139908885e7f3e65.tar.bz2
perk-8db559ac093a6df8ede582f9139908885e7f3e65.tar.xz
struct pe_meta_coff_symbol: added the .cs_aux_recs member.
-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])