# HG changeset patch # User Drifter # Date 1338463927 14400 # Node ID 3c02fcf8af9bf1a423633d2548f79eee389cefc3 # Parent 99eb860fffb0650af5f03227040ae840b5a4da53 Fixed crash when passed bad ref in ReferenceToEntity (bug 5330, r=asherkin). diff -r 99eb860fffb0 -r 3c02fcf8af9b core/HalfLife2.cpp --- a/core/HalfLife2.cpp Thu May 31 00:36:36 2012 -0400 +++ b/core/HalfLife2.cpp Thu May 31 07:32:07 2012 -0400 @@ -832,6 +832,11 @@ CBaseEntity *CHalfLife2::ReferenceToEntity(cell_t entRef) { + if (entRef == INVALID_EHANDLE_INDEX) + { + return NULL; + } + CEntInfo *pInfo = NULL; if (entRef & (1<<31)) @@ -841,7 +846,7 @@ CBaseHandle hndl(hndlValue); pInfo = LookupEntity(hndl.GetEntryIndex()); - if (pInfo->m_SerialNumber != hndl.GetSerialNumber()) + if (!pInfo || pInfo->m_SerialNumber != hndl.GetSerialNumber()) { return NULL; }