(svn r4291) - Fix: validate all received strings for correctness. This fixes potential crashes on invalid clients/servers (thanks test for bringing this to our attention)

This commit is contained in:
Darkvater
2006-04-05 20:11:01 +00:00
parent 07e4134ebd
commit a39f69b9bd
2 changed files with 3 additions and 3 deletions

View File

@@ -273,6 +273,7 @@ uint64 NetworkRecv_uint64(NetworkClientState *cs, Packet *packet)
void NetworkRecv_string(NetworkClientState *cs, Packet *p, char* buffer, size_t size)
{
int pos;
char *bufp = buffer;
/* Don't allow reading from a closed socket */
if (cs->quited)
@@ -289,6 +290,8 @@ void NetworkRecv_string(NetworkClientState *cs, Packet *p, char* buffer, size_t
++pos;
}
p->pos = pos;
str_validate(bufp);
}
// If PacketSize changes of size, you have to change the 2 packet->size