@@ -5890,7 +5890,7 @@ void parse_glowpoint_table(const char *filename)
58905890 }
58915891
58925892 if (optional_string (" $Texture:" )) {
5893- char glow_texture_name[32 ];
5893+ char glow_texture_name[NAME_LENGTH ];
58945894 stuff_string (glow_texture_name, F_NAME , NAME_LENGTH );
58955895
58965896 gpo.glow_bitmap_override = true ;
@@ -5907,10 +5907,18 @@ void parse_glowpoint_table(const char *filename)
59075907 nprintf ((" Model" , " Glowpoint preset %s texture num is %d\n " , gpo.name , gpo.glow_bitmap ));
59085908 }
59095909
5910- char glow_texture_neb_name[256 ];
5911- strncpy (glow_texture_neb_name, glow_texture_name, 256 );
5912- strcat (glow_texture_neb_name, " -neb" );
5913- gpo.glow_neb_bitmap = bm_load (glow_texture_neb_name);
5910+ if (strlen (glow_texture_name) > MAX_FILENAME_LEN - 4 - 1 )
5911+ {
5912+ nprintf ((" Model" , " Texture '%s' referenced by glowpoint preset '%s' is too long for the -neb suffix!\n " , glow_texture_name, gpo.name ));
5913+ gpo.glow_neb_bitmap = -1 ;
5914+ }
5915+ else
5916+ {
5917+ char glow_texture_neb_name[MAX_FILENAME_LEN ];
5918+ strcpy_s (glow_texture_neb_name, glow_texture_name);
5919+ strcat_s (glow_texture_neb_name, " -neb" );
5920+ gpo.glow_neb_bitmap = bm_load (glow_texture_neb_name);
5921+ }
59145922
59155923 if (gpo.glow_neb_bitmap < 0 )
59165924 {
0 commit comments