mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
Fix release of virNetMessagePtr instances in streams processing
If a message packet for a invalid stream is received it is just free'd. This is not good because it doesn't let the client RPC request counter decrement. If a stream is shutdown with pending packets the message also isn't released properly because of an incorrect header type * daemon/stream.c: Fix message header type * src/rpc/virnetserverprogram.c: Send dummy reply instead of free'ing ignored stream message
This commit is contained in:
@@ -327,6 +327,7 @@ int daemonFreeClientStream(virNetServerClientPtr client,
|
||||
virNetMessagePtr tmp = msg->next;
|
||||
/* Send a dummy reply to free up 'msg' & unblock client rx */
|
||||
memset(msg, 0, sizeof(*msg));
|
||||
msg->header.type = VIR_NET_REPLY;
|
||||
if (virNetServerClientSendMessage(client, msg) < 0) {
|
||||
virNetServerClientMarkClose(client);
|
||||
virNetMessageFree(msg);
|
||||
|
||||
Reference in New Issue
Block a user