Fix string allocation in SquirrelVM::ReadObject

This commit is contained in:
samisalreadytaken 2024-06-29 18:18:17 +03:00
parent 8c0b3f2f75
commit 77f645980e

View File

@ -3803,11 +3803,26 @@ void SquirrelVM::ReadObject( SQObjectPtr &pObj, CUtlBuffer* pBuffer, ReadStateMa
case OT_STRING:
{
int len = pBuffer->GetInt();
char *psz = (char*)stackalloc(len);
char *psz;
if ( len < 1024 )
{
psz = (char*)stackalloc( len );
}
else
{
psz = (char*)malloc( len );
}
pBuffer->Get( psz, len );
obj._unVal.pString = SQString::Create( _ss(vm_), psz, len );
if ( len >= 1024 )
{
free( psz );
}
break;
}
case OT_TABLE: