Fixed minor memory leaks in cstrike ext (bug 5456, r=psychonic).
authorKyle Sanderson <kyle.leet@gmail.com>
Sun Aug 26 23:33:11 2012 -0400 (2012-08-26)
changeset 363471cab87fc1b4
parent 3633 52454248c90d
child 3635 14e7af400bcc
Fixed minor memory leaks in cstrike ext (bug 5456, r=psychonic).
extensions/cstrike/natives.cpp
extensions/cstrike/util_cstrike.cpp
     1.1 --- a/extensions/cstrike/natives.cpp	Sun Aug 26 23:33:11 2012 -0400
     1.2 +++ b/extensions/cstrike/natives.cpp	Sun Aug 26 23:33:11 2012 -0400
     1.3 @@ -210,17 +210,17 @@
     1.4  	}
     1.5  
     1.6  	//Psychonic is awesome for this
     1.7 -	sm_sendprop_info_t *spi = new sm_sendprop_info_t;
     1.8 +	sm_sendprop_info_t spi;
     1.9  	IServerUnknown *pUnk = (IServerUnknown *)pWeapon;
    1.10  	IServerNetworkable *pNet = pUnk->GetNetworkable();
    1.11  
    1.12 -	if (!UTIL_FindDataTable(pNet->GetServerClass()->m_pTable, "DT_WeaponCSBase", spi, 0))
    1.13 +	if (!UTIL_FindDataTable(pNet->GetServerClass()->m_pTable, "DT_WeaponCSBase", &spi, 0))
    1.14  		return pContext->ThrowNativeError("Entity index %d is not a weapon", params[2]);
    1.15  
    1.16 -	if (!gamehelpers->FindSendPropInfo("CBaseCombatWeapon", "m_hOwnerEntity", spi))
    1.17 +	if (!gamehelpers->FindSendPropInfo("CBaseCombatWeapon", "m_hOwnerEntity", &spi))
    1.18  		return pContext->ThrowNativeError("Invalid entity index %d for weapon", params[2]);
    1.19  
    1.20 -	CBaseHandle &hndl = *(CBaseHandle *)((uint8_t *)pWeapon + spi->actual_offset);
    1.21 +	CBaseHandle &hndl = *(CBaseHandle *)((uint8_t *)pWeapon + spi.actual_offset);
    1.22  	if (params[1] != hndl.GetEntryIndex())
    1.23  		return pContext->ThrowNativeError("Weapon %d is not owned by client %d", params[2], params[1]);
    1.24  
     2.1 --- a/extensions/cstrike/util_cstrike.cpp	Sun Aug 26 23:33:11 2012 -0400
     2.2 +++ b/extensions/cstrike/util_cstrike.cpp	Sun Aug 26 23:33:11 2012 -0400
     2.3 @@ -90,7 +90,7 @@
     2.4  			retpass.size = sizeof(const char *); \
     2.5  			pWrapper = g_pBinTools->CreateCall(addr, CallConv_Cdecl, &retpass, pass, 1))
     2.6  	}
     2.7 -	const char *ret = new char[128];
     2.8 +	const char *ret = NULL;
     2.9  
    2.10  	unsigned char vstk[sizeof(const char *)];
    2.11  	unsigned char *vptr = vstk;