diff options
Diffstat (limited to 'src/reader/pe_read_coff_header.c')
-rw-r--r-- | src/reader/pe_read_coff_header.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/reader/pe_read_coff_header.c b/src/reader/pe_read_coff_header.c index 9894017..032a995 100644 --- a/src/reader/pe_read_coff_header.c +++ b/src/reader/pe_read_coff_header.c @@ -28,7 +28,9 @@ int pe_read_coff_header(const struct pe_raw_coff_image_hdr * p, struct pe_meta_c m->cfh_time_date_stamp = pe_read_long(p->cfh_time_date_stamp); m->cfh_ptr_to_sym_tbl = pe_read_long(p->cfh_ptr_to_sym_tbl); - m->cfh_num_of_syms = pe_read_long(p->cfh_num_of_sym_recs); + + m->cfh_size_of_sym_tbl = pe_read_long(p->cfh_num_of_sym_recs); + m->cfh_size_of_sym_tbl *= sizeof(struct pe_raw_coff_symbol); m->cfh_size_of_opt_hdr = pe_read_short(p->cfh_size_of_opt_hdr); m->cfh_characteristics = pe_read_short(p->cfh_characteristics); @@ -99,7 +101,9 @@ int pe_read_object_header(const struct pe_raw_coff_object_hdr * p, struct pe_met m->cfh_time_date_stamp = pe_read_long(p->cfh_time_date_stamp); m->cfh_ptr_to_sym_tbl = pe_read_long(p->cfh_ptr_to_sym_tbl); - m->cfh_num_of_syms = pe_read_long(p->cfh_num_of_sym_recs); + + m->cfh_size_of_sym_tbl = pe_read_long(p->cfh_num_of_sym_recs); + m->cfh_size_of_sym_tbl *= sizeof(struct pe_raw_coff_symbol); m->cfh_size_of_opt_hdr = pe_read_short(p->cfh_size_of_opt_hdr); m->cfh_characteristics = pe_read_short(p->cfh_characteristics); |