fix potentially fatal sv_minping memory leak.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4702 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
parent
a842a623e4
commit
75e22d98fe
1 changed files with 12 additions and 3 deletions
|
@ -266,6 +266,12 @@ void SV_Shutdown (void)
|
||||||
BZ_Free(sv_staticentities);
|
BZ_Free(sv_staticentities);
|
||||||
sv_staticentities = NULL;
|
sv_staticentities = NULL;
|
||||||
}
|
}
|
||||||
|
while (svs.free_lagged_packet)
|
||||||
|
{
|
||||||
|
laggedpacket_t *lp = svs.free_lagged_packet;
|
||||||
|
svs.free_lagged_packet = lp->next;
|
||||||
|
Z_Free(lp);
|
||||||
|
}
|
||||||
|
|
||||||
T_FreeStrings();
|
T_FreeStrings();
|
||||||
|
|
||||||
|
@ -4474,7 +4480,7 @@ qboolean SV_ReadPackets (float *delay)
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef SERVER_DEMO_PLAYBACK
|
#ifdef SERVER_DEMO_PLAYBACK
|
||||||
while (giveup-- > 0 && SV_GetPacket())
|
while (giveup-- > 0 && SV_GetPacket()>=0)
|
||||||
#else
|
#else
|
||||||
while (giveup-- > 0 && (cookie=NET_GetPacket (NS_SERVER, cookie)) >= 0)
|
while (giveup-- > 0 && (cookie=NET_GetPacket (NS_SERVER, cookie)) >= 0)
|
||||||
#endif
|
#endif
|
||||||
|
@ -4573,9 +4579,12 @@ dominping:
|
||||||
if (!cl->laggedpacket)
|
if (!cl->laggedpacket)
|
||||||
cl->laggedpacket_last = cl->laggedpacket = svs.free_lagged_packet;
|
cl->laggedpacket_last = cl->laggedpacket = svs.free_lagged_packet;
|
||||||
else
|
else
|
||||||
cl->laggedpacket_last = cl->laggedpacket_last->next = svs.free_lagged_packet;
|
{
|
||||||
cl->laggedpacket_last->next = NULL;
|
cl->laggedpacket_last->next = svs.free_lagged_packet;
|
||||||
|
cl->laggedpacket_last = cl->laggedpacket_last->next;
|
||||||
|
}
|
||||||
svs.free_lagged_packet = svs.free_lagged_packet->next;
|
svs.free_lagged_packet = svs.free_lagged_packet->next;
|
||||||
|
cl->laggedpacket_last->next = NULL;
|
||||||
|
|
||||||
cl->laggedpacket_last->time = realtime + cl->delay;
|
cl->laggedpacket_last->time = realtime + cl->delay;
|
||||||
memcpy(cl->laggedpacket_last->data, net_message.data, net_message.cursize);
|
memcpy(cl->laggedpacket_last->data, net_message.data, net_message.cursize);
|
||||||
|
|
Loading…
Reference in a new issue