summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/object/mdso_objgen_symentry.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/object/mdso_objgen_symentry.c b/src/object/mdso_objgen_symentry.c
index 2135c23..674272b 100644
--- a/src/object/mdso_objgen_symentry.c
+++ b/src/object/mdso_objgen_symentry.c
@@ -101,6 +101,7 @@ int mdso_objgen_symentry(
void * mark;
char * ch;
char * strtbl;
+ const char * src;
struct pe_raw_aux_rec_section * aux;
size_t liblen;
uint32_t symlen;
@@ -298,8 +299,13 @@ int mdso_objgen_symentry(
symrec += 1;
/* archive symbol map */
- if (vobj->mapstrs)
- strcpy(vobj->mapstrs,&strtbl[stroff_impsym]);
+ if (vobj->mapstrs) {
+ ch = vobj->mapstrs;
+ src = &strtbl[stroff_impsym];
+
+ for (; *src; )
+ *ch++ = *src++;
+ }
/* coff symbol: .dsometa_libname */
symrec[0].cs_storage_class[0] = PE_IMAGE_SYM_CLASS_EXTERNAL;