From: Rudolf Polzer Date: Fri, 27 Nov 2015 21:19:31 +0000 (+0100) Subject: Fix some SVQC and CSQC string leaks. X-Git-Tag: xonotic-v0.8.2~1611 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=ec84c39219c363be43184ae887ee37e2762eabe2;p=xonotic%2Fxonotic-data.pk3dir.git Fix some SVQC and CSQC string leaks. --- diff --git a/qcsrc/common/util.qc b/qcsrc/common/util.qc index 9b6d43362..b322741f2 100644 --- a/qcsrc/common/util.qc +++ b/qcsrc/common/util.qc @@ -609,6 +609,8 @@ float cvar_settemp_restore() if(cvar_type(e.netname)) { cvar_set(e.netname, e.message); + strunzone(e.netname); + strunzone(e.message); remove(e); ++i; } diff --git a/qcsrc/server/t_items.qc b/qcsrc/server/t_items.qc index 64bdfa552..3fb6998e9 100644 --- a/qcsrc/server/t_items.qc +++ b/qcsrc/server/t_items.qc @@ -96,6 +96,12 @@ void Item_PreDraw() self.drawmask = MASK_NORMAL; } +void ItemRemove() +{SELFPARAM(); + if (self.mdl) + strunzone(self.mdl); +} + NET_HANDLE(ENT_CLIENT_ITEM, bool isnew) { int sf = ReadByte(); @@ -242,6 +248,9 @@ NET_HANDLE(ENT_CLIENT_ITEM, bool isnew) if(self.ItemStatus & ITS_ANIMATE2) self.move_avelocity = '0 -90 0'; } + + self.entremove = ItemRemove; + return true; }