From d3553c721c0fed07f85b70fea418ca65ed974fbb Mon Sep 17 00:00:00 2001 From: Bryce Harrington Date: Tue, 30 Jun 2015 21:35:43 -0700 Subject: [PATCH] xwayland: Always free reply from xcb_get_property_reply() Signed-off-by: Bryce Harrington Reviewed-by: Marek Chalupa --- xwayland/selection.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/xwayland/selection.c b/xwayland/selection.c index 572a0b59..451b9153 100644 --- a/xwayland/selection.c +++ b/xwayland/selection.c @@ -119,8 +119,9 @@ weston_wm_get_incr_chunk(struct weston_wm *wm) } else { weston_log("transfer complete\n"); close(wm->data_source_fd); - free(reply); } + + free(reply); } struct x11_data_source { @@ -192,8 +193,10 @@ weston_wm_get_selection_targets(struct weston_wm *wm) } source = malloc(sizeof *source); - if (source == NULL) + if (source == NULL) { + free(reply); return; + } wl_signal_init(&source->base.destroy_signal); source->base.accept = data_source_accept; @@ -237,12 +240,13 @@ weston_wm_get_selection_data(struct weston_wm *wm) if (reply->type == wm->atom.incr) { dump_property(wm, wm->atom.wl_selection, reply); wm->incr = 1; - free(reply); } else { dump_property(wm, wm->atom.wl_selection, reply); wm->incr = 0; weston_wm_write_property(wm, reply); } + + free(reply); } static void