From 05b2893b9f3babac1b1fb67e1f79fe253927162a Mon Sep 17 00:00:00 2001 From: nicm Date: Mon, 4 Aug 2025 13:22:10 +0000 Subject: [PATCH] Do not leak buffer if not used, reported by someone in GitHub issue 4575. --- window-copy.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/window-copy.c b/window-copy.c index 809c2402..f93e548b 100644 --- a/window-copy.c +++ b/window-copy.c @@ -4887,6 +4887,8 @@ window_copy_copy_buffer(struct window_mode_entry *wme, const char *prefix, if (set_paste) paste_add(prefix, buf, len); + else + free(buf); } static void * @@ -4911,9 +4913,11 @@ static void window_copy_pipe(struct window_mode_entry *wme, struct session *s, const char *cmd) { + void *buf; size_t len; - window_copy_pipe_run(wme, s, cmd, &len); + buf = window_copy_pipe_run(wme, s, cmd, &len); + free (buf); } static void @@ -4924,9 +4928,10 @@ window_copy_copy_pipe(struct window_mode_entry *wme, struct session *s, size_t len; buf = window_copy_pipe_run(wme, s, cmd, &len); - if (buf != NULL) + if (buf != NULL) { window_copy_copy_buffer(wme, prefix, buf, len, set_paste, set_clip); + } } static void @@ -4937,9 +4942,10 @@ window_copy_copy_selection(struct window_mode_entry *wme, const char *prefix, size_t len; buf = window_copy_get_selection(wme, &len); - if (buf != NULL) + if (buf != NULL) { window_copy_copy_buffer(wme, prefix, buf, len, set_paste, set_clip); + } } static void