Skip to content

Commit 7702d53

Browse files
committed
string length
1 parent 3b51c89 commit 7702d53

1 file changed

Lines changed: 13 additions & 5 deletions

File tree

code/model/modelread.cpp

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)