From: Daniel P. Berrange Date: Thu, 30 Jun 2011 11:26:54 +0000 (+0100) Subject: Ensure RPC message is cleared before being reused X-Git-Tag: v0.9.3~42 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d840fe93b073fd2d67fa9d9b64be732aed6ba275;p=thirdparty%2Flibvirt.git Ensure RPC message is cleared before being reused To save on memory reallocation, virNetMessage instances that have been transmitted, may be reused for a subsequent incoming message. We forgot to clear out the old data of the message fully, which caused later confusion upon read. * src/rpc/virnetserverclient.c: memset entire message before reusing it --- diff --git a/src/rpc/virnetserverclient.c b/src/rpc/virnetserverclient.c index aac4c3c3fe..5c23cf2410 100644 --- a/src/rpc/virnetserverclient.c +++ b/src/rpc/virnetserverclient.c @@ -837,6 +837,7 @@ virNetServerClientDispatchWrite(virNetServerClientPtr client) client->nrequests < client->nrequests_max) { /* Ready to recv more messages */ client->rx = msg; + memset(client->rx, 0, sizeof(*client->rx)); client->rx->bufferLength = VIR_NET_MESSAGE_LEN_MAX; msg = NULL; client->nrequests++;