From ae4fb541812386da97dd5b633f762f272f023b77 Mon Sep 17 00:00:00 2001 From: midipix Date: Wed, 1 May 2024 02:30:43 +0000 Subject: mdso_objgen_dsometa(), mdso_objgen_symentry(): avoid var-length array member. --- src/object/mdso_objgen_dsometa.c | 7 ++++++- src/object/mdso_objgen_symentry.c | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) (limited to 'src/object') diff --git a/src/object/mdso_objgen_dsometa.c b/src/object/mdso_objgen_dsometa.c index 162c2d2..138a4b3 100644 --- a/src/object/mdso_objgen_dsometa.c +++ b/src/object/mdso_objgen_dsometa.c @@ -18,6 +18,11 @@ #include "perk_consts.h" #include "perk_structs.h" +struct pe_raw_coff_strtbl_impl { + unsigned char cst_size [0x04]; + unsigned char cst_data [0x10]; +}; + struct mdso_unified_record { unsigned char data[80]; }; @@ -28,7 +33,7 @@ struct mdso_dsometa_object { struct mdso_unified_record rec[1]; struct pe_raw_coff_reloc rel[1]; struct pe_raw_coff_symbol sym[8]; - struct pe_raw_coff_strtbl cst; + struct pe_raw_coff_strtbl_impl cst; }; int mdso_objgen_dsometa( diff --git a/src/object/mdso_objgen_symentry.c b/src/object/mdso_objgen_symentry.c index 674272b..9303a1e 100644 --- a/src/object/mdso_objgen_symentry.c +++ b/src/object/mdso_objgen_symentry.c @@ -18,6 +18,11 @@ #include "perk_consts.h" #include "perk_structs.h" +struct pe_raw_coff_strtbl_impl { + unsigned char cst_size [0x04]; + unsigned char cst_data [0x10]; +}; + struct mdso_symfn_refs { unsigned char refs[16]; }; @@ -28,7 +33,7 @@ struct mdso_symentry_object { struct mdso_symfn_refs ref[1]; struct pe_raw_coff_reloc rel[2]; struct pe_raw_coff_symbol sym[9]; - struct pe_raw_coff_strtbl cst; + struct pe_raw_coff_strtbl_impl cst; }; static void mdso_obj_write_secoff(unsigned char * ch, uint64_t secoff) -- cgit v1.2.3