From ec84c39219c363be43184ae887ee37e2762eabe2 Mon Sep 17 00:00:00 2001 From: Rudolf Polzer Date: Fri, 27 Nov 2015 22:19:31 +0100 Subject: [PATCH] Fix some SVQC and CSQC string leaks. --- qcsrc/common/util.qc | 2 ++ qcsrc/server/t_items.qc | 9 +++++++++ 2 files changed, 11 insertions(+) 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; } -- 2.39.2