Remove a few more instances of strncpy.
diff --git a/tools/sfnt2fnt.c b/tools/sfnt2fnt.c
index d3d9124..8387421 100644
--- a/tools/sfnt2fnt.c
+++ b/tools/sfnt2fnt.c
@@ -163,7 +163,6 @@
int num_names;
const union cptable *cptable;
FT_SfntName sfntname;
- char namebuf[4096];
TT_OS2 *os2;
cptable = wine_cp_get_table(enc);
if(!cptable) {
@@ -207,13 +206,12 @@
num_names = FT_Get_Sfnt_Name_Count(face);
for(i = 0; i <num_names; i++) {
FT_Get_Sfnt_Name(face, i, &sfntname);
- memcpy(namebuf, sfntname.string, sfntname.string_len);
- namebuf[sfntname.string_len] = '\0';
if(sfntname.platform_id == 1 && sfntname.encoding_id == 0 &&
sfntname.language_id == 0 && sfntname.name_id == 0) {
- strncpy(hdr.dfCopyright, namebuf, 60);
- hdr.dfCopyright[59] = '\0';
- }
+ size_t len = min( sfntname.string_len, sizeof(hdr.dfCopyright)-1 );
+ memcpy(hdr.dfCopyright, sfntname.string, len);
+ hdr.dfCopyright[len] = 0;
+ }
}
os2 = FT_Get_Sfnt_Table(face, ft_sfnt_os2);