[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 01/18] ui/vdagent: fix leak on error path
From: |
marcandre . lureau |
Subject: |
[PATCH v3 01/18] ui/vdagent: fix leak on error path |
Date: |
Thu, 5 Aug 2021 17:56:58 +0400 |
From: Marc-André Lureau <marcandre.lureau@redhat.com>
"info" was leaked when more than 10 entries.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
include/ui/clipboard.h | 2 ++
ui/vdagent.c | 4 +---
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/include/ui/clipboard.h b/include/ui/clipboard.h
index b45b984c9f..eb789a285a 100644
--- a/include/ui/clipboard.h
+++ b/include/ui/clipboard.h
@@ -190,4 +190,6 @@ void qemu_clipboard_set_data(QemuClipboardPeer *peer,
const void *data,
bool update);
+G_DEFINE_AUTOPTR_CLEANUP_FUNC(QemuClipboardInfo, qemu_clipboard_info_unref)
+
#endif /* QEMU_CLIPBOARD_H */
diff --git a/ui/vdagent.c b/ui/vdagent.c
index a253a8fe63..f6ef8d1993 100644
--- a/ui/vdagent.c
+++ b/ui/vdagent.c
@@ -438,7 +438,7 @@ static void vdagent_chr_recv_clipboard(VDAgentChardev *vd,
VDAgentMessage *msg)
uint8_t s = VD_AGENT_CLIPBOARD_SELECTION_CLIPBOARD;
uint32_t size = msg->size;
void *data = msg->data;
- QemuClipboardInfo *info;
+ g_autoptr(QemuClipboardInfo) info = NULL;
QemuClipboardType type;
if (have_selection(vd)) {
@@ -477,7 +477,6 @@ static void vdagent_chr_recv_clipboard(VDAgentChardev *vd,
VDAgentMessage *msg)
size -= sizeof(uint32_t);
}
qemu_clipboard_update(info);
- qemu_clipboard_info_unref(info);
break;
case VD_AGENT_CLIPBOARD_REQUEST:
if (size < sizeof(uint32_t)) {
@@ -523,7 +522,6 @@ static void vdagent_chr_recv_clipboard(VDAgentChardev *vd,
VDAgentMessage *msg)
/* set empty clipboard info */
info = qemu_clipboard_info_new(NULL, s);
qemu_clipboard_update(info);
- qemu_clipboard_info_unref(info);
}
break;
}
--
2.32.0.264.g75ae10bc75
- [PATCH v3 00/18] Clipboard fixes (for 6.1?), marcandre . lureau, 2021/08/05
- [PATCH v3 01/18] ui/vdagent: fix leak on error path,
marcandre . lureau <=
- [PATCH v3 02/18] ui/vdagent: remove copy-pasta comment, marcandre . lureau, 2021/08/05
- [PATCH v3 03/18] ui/gtk-clipboard: use existing macros, marcandre . lureau, 2021/08/05
- [PATCH v3 04/18] ui/gtk-clipboard: fix clipboard enum typo, marcandre . lureau, 2021/08/05
- [PATCH v3 05/18] ui/clipboard: add helper to retrieve current clipboard, marcandre . lureau, 2021/08/05
- [PATCH v3 06/18] ui/clipboard: add qemu_clipboard_peer_owns() helper, marcandre . lureau, 2021/08/05
- [PATCH v3 07/18] ui/clipboard: add qemu_clipboard_peer_release() helper, marcandre . lureau, 2021/08/05
- [PATCH v3 08/18] ui/clipboard: release owned grabs on unregister, marcandre . lureau, 2021/08/05
- [PATCH v3 09/18] ui/vdagent: disconnect handlers and reset state on finalize, marcandre . lureau, 2021/08/05