mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
Avoid free'ing a filtered RPC message in the server
When a filter steals an RPC message, that message must not be freed, except by the filter code itself * src/rpc/virnetserverclient.c: Don't free stolen RPC messages
This commit is contained in:
parent
b7337d03ec
commit
c9ede1cfba
@ -723,13 +723,17 @@ readmore:
|
||||
filter = client->filters;
|
||||
while (filter) {
|
||||
int ret = filter->func(client, msg, filter->opaque);
|
||||
if (ret < 0 || ret > 0) {
|
||||
if (ret < 0) {
|
||||
virNetMessageFree(msg);
|
||||
msg = NULL;
|
||||
if (ret < 0)
|
||||
client->wantClose = true;
|
||||
break;
|
||||
}
|
||||
if (ret > 0) {
|
||||
msg = NULL;
|
||||
break;
|
||||
}
|
||||
|
||||
filter = filter->next;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user