voicefont: Detect when the encoded filename overflows the buffer

...And handle it gracefully.

This shuts up 2 of the 3 remaining rbutil build warnings.

Change-Id: I03b057e566ba663a72cbae159e78070b9934fa0d
This commit is contained in:
Solomon Peachy 2026-07-05 10:06:02 -04:00
parent 7437f7b214
commit 8e89f8a5d6

View file

@ -96,8 +96,13 @@ int voicefont(FILE* voicefontids,int targetnum,char* filedir, FILE* output, unsi
for (i=0; i<count; i++)
{
pos[i] = ftell(output);
snprintf(encfilename1, sizeof(encfilename1), "%s%s.enc", filedir, names[i]);
snprintf(encfilename2, sizeof(encfilename2), "%s%s.wav.enc", filedir, names[i]);
if (snprintf(encfilename1, sizeof(encfilename1), "%s%s.enc", filedir, names[i]) >= (int)sizeof(encfilename1) ||
snprintf(encfilename2, sizeof(encfilename2), "%s%s.wav.enc", filedir, names[i]) >= (int)sizeof(encfilename2)) {
printf("enc filename '%s' too long!\n", encfilename1);
size[i] = 0;
continue;
}
encfilename = encfilename1;
pEncFile = fopen(encfilename, "rb");
if (pEncFile == NULL)