Merge pull request #454 from zfbx/Fix365

Added fix for #365 from PR #367 - buffer overrun bug
This commit is contained in:
Brian Roberts 2021-01-21 18:04:14 -06:00 committed by GitHub
commit 37a319bf35
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -856,12 +856,12 @@ void TSShape::writeName(Stream * s, S32 nameIndex)
S32 TSShape::readName(Stream * s, bool addName)
{
static char buffer[256];
S32 sz;
U32 sz;
S32 nameIndex = -1;
s->read(&sz);
if (sz)
if (sz>0 && sz<255)
{
s->read(sz*sizeof(char),buffer);
s->read(sz,buffer);
buffer[sz] = '\0';
nameIndex = findName(buffer);
@ -881,6 +881,11 @@ S32 TSShape::readName(Stream * s, bool addName)
names.last() = buffer;
}
}
else
{
Con::errorf("invalid TSShape::readName length!");
}
return nameIndex;
}