[Spice-devel] [PATCH spice-common] marshaller: Fix a possible leak
Frediano Ziglio
fziglio at redhat.com
Wed Jun 27 16:35:07 UTC 2018
The possible file descriptor associated to the message (currently
can be only the DRM descriptor from Virgl) is not freed in case
the marshaller is reset/destroyed.
This can happen connecting/disconnecting client.
Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
---
common/marshaller.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/common/marshaller.c b/common/marshaller.c
index b55b568..0b45523 100644
--- a/common/marshaller.c
+++ b/common/marshaller.c
@@ -210,6 +210,12 @@ void spice_marshaller_reset(SpiceMarshaller *m)
m->next = NULL;
m->n_items = 0;
m->total_size = 0;
+ if (m->has_fd) {
+ m->has_fd = false;
+ if (m->fd != -1) {
+ close(m->fd);
+ }
+ }
d = m->data;
d->last_marshaller = d->marshallers;
--
2.17.1
More information about the Spice-devel
mailing list