Fixed crash when passed bad ref in ReferenceToEntity (bug 5330, r=asherkin).
authorDrifter <rgr_02@comcast.net>
Thu May 31 07:32:07 2012 -0400 (2012-05-31)
changeset 35463c02fcf8af9b
parent 3545 99eb860fffb0
child 3547 1ef5215e6ae2
Fixed crash when passed bad ref in ReferenceToEntity (bug 5330, r=asherkin).
core/HalfLife2.cpp
     1.1 --- a/core/HalfLife2.cpp	Thu May 31 00:36:36 2012 -0400
     1.2 +++ b/core/HalfLife2.cpp	Thu May 31 07:32:07 2012 -0400
     1.3 @@ -832,6 +832,11 @@
     1.4  
     1.5  CBaseEntity *CHalfLife2::ReferenceToEntity(cell_t entRef)
     1.6  {
     1.7 +	if (entRef == INVALID_EHANDLE_INDEX)
     1.8 +	{
     1.9 +		return NULL;
    1.10 +	}
    1.11 +
    1.12  	CEntInfo *pInfo = NULL;
    1.13  
    1.14  	if (entRef & (1<<31))
    1.15 @@ -841,7 +846,7 @@
    1.16  		CBaseHandle hndl(hndlValue);
    1.17  
    1.18  		pInfo = LookupEntity(hndl.GetEntryIndex());
    1.19 -		if (pInfo->m_SerialNumber != hndl.GetSerialNumber())
    1.20 +		if (!pInfo || pInfo->m_SerialNumber != hndl.GetSerialNumber())
    1.21  		{
    1.22  			return NULL;
    1.23  		}