mirror of
https://github.com/tmux/tmux.git
synced 2026-08-26 08:31:36 +00:00
Merge remote-tracking branch 'refs/remotes/tmux-openbsd/master'
* refs/remotes/tmux-openbsd/master: Do not leak cached status line, from Jeong, Heon. Free pane fallback range when freeing pane, from Jeong, Heon. Do not leak path when destroying client, from Jeong, Heon. Do not leak format when drawing preview, from Jeong, Heon. Do not leak buffer name on failure, from Jeong, Heon.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
/* $OpenBSD: cmd-set-buffer.c,v 1.37 2026/02/15 17:43:26 nicm Exp $ */
|
||||
/* $OpenBSD: cmd-set-buffer.c,v 1.38 2026/08/24 07:05:23 nicm Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2007 Nicholas Marriott <nicholas.marriott@gmail.com>
|
||||
@@ -100,6 +100,7 @@ cmd_set_buffer_exec(struct cmd *self, struct cmdq_item *item)
|
||||
cmdq_error(item, "%s", cause);
|
||||
goto fail;
|
||||
}
|
||||
free(bufname);
|
||||
return (CMD_RETURN_NORMAL);
|
||||
}
|
||||
|
||||
@@ -107,8 +108,10 @@ cmd_set_buffer_exec(struct cmd *self, struct cmdq_item *item)
|
||||
cmdq_error(item, "no data specified");
|
||||
goto fail;
|
||||
}
|
||||
if ((newsize = strlen(args_string(args, 0))) == 0)
|
||||
if ((newsize = strlen(args_string(args, 0))) == 0) {
|
||||
free(bufname);
|
||||
return (CMD_RETURN_NORMAL);
|
||||
}
|
||||
|
||||
if (args_has(args, 'a') && pb != NULL) {
|
||||
olddata = paste_buffer_data(pb, &bufsize);
|
||||
@@ -127,6 +130,7 @@ cmd_set_buffer_exec(struct cmd *self, struct cmdq_item *item)
|
||||
if (args_has(args, 'w') && tc != NULL)
|
||||
tty_set_selection(&tc->tty, "", bufdata, bufsize);
|
||||
|
||||
free(bufname);
|
||||
return (CMD_RETURN_NORMAL);
|
||||
|
||||
fail:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $OpenBSD: server-client.c,v 1.505 2026/08/20 09:19:24 nicm Exp $ */
|
||||
/* $OpenBSD: server-client.c,v 1.506 2026/08/24 07:08:19 nicm Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2009 Nicholas Marriott <nicholas.marriott@gmail.com>
|
||||
@@ -524,6 +524,7 @@ server_client_lost(struct client *c)
|
||||
input_cancel_requests(c);
|
||||
|
||||
free(c->title);
|
||||
free(c->path);
|
||||
free((void *)c->cwd);
|
||||
|
||||
evtimer_del(&c->repeat_timer);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $OpenBSD: window-tree.c,v 1.94 2026/07/14 17:17:18 nicm Exp $ */
|
||||
/* $OpenBSD: window-tree.c,v 1.95 2026/08/24 07:06:58 nicm Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2017 Nicholas Marriott <nicholas.marriott@gmail.com>
|
||||
@@ -642,6 +642,7 @@ window_tree_draw_session(struct window_tree_modedata *data, struct session *s,
|
||||
}
|
||||
free(label);
|
||||
}
|
||||
format_free(ft);
|
||||
|
||||
if (loop != end - 1) {
|
||||
screen_write_cursormove(ctx, cx + offset + width, cy,
|
||||
@@ -790,6 +791,7 @@ window_tree_draw_window(struct window_tree_modedata *data, struct session *s,
|
||||
}
|
||||
free(label);
|
||||
}
|
||||
format_free(ft);
|
||||
|
||||
if (loop != end - 1) {
|
||||
screen_write_cursormove(ctx, cx + offset + width, cy,
|
||||
|
||||
6
window.c
6
window.c
@@ -1,4 +1,4 @@
|
||||
/* $OpenBSD: window.c,v 1.370 2026/08/20 09:19:24 nicm Exp $ */
|
||||
/* $OpenBSD: window.c,v 1.372 2026/08/24 07:14:54 nicm Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2007 Nicholas Marriott <nicholas.marriott@gmail.com>
|
||||
@@ -1545,16 +1545,16 @@ window_pane_free(struct window_pane *wp)
|
||||
log_debug("pane %%%u freed (%d references)", wp->id, wp->references);
|
||||
|
||||
free(wp->searchstr);
|
||||
|
||||
screen_free(&wp->status_screen);
|
||||
screen_free(&wp->base);
|
||||
|
||||
free(wp->r.ranges);
|
||||
options_free(wp->options);
|
||||
free((void *)wp->cwd);
|
||||
free(wp->shell);
|
||||
cmd_free_argv(wp->argc, wp->argv);
|
||||
colour_palette_free(&wp->palette);
|
||||
style_ranges_free(&wp->border_status_line.ranges);
|
||||
free(wp->border_status_line.expanded);
|
||||
free(wp);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user