mirror of
https://github.com/tmux/tmux.git
synced 2026-10-16 08:24:23 +00:00
Merge remote-tracking branch 'refs/remotes/tmux-openbsd/master'
* refs/remotes/tmux-openbsd/master:
Memory leak fixes from someone in GitHub issues 5739, 5744, 5745, 5746.
Add -f to switch-mode to read choices from a file, GitHub issue 5738.
Set session for {current} target, GitHub issue 5742.
Do not discard control state before a control client creates it, GitHub issue 5740 from Andre Popp.
A few additional readonly checks, GitHub issue 5736 from gmkbenjamin at hotmail dot com.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
/* $OpenBSD: server-client.c,v 1.520 2026/10/12 10:48:05 nicm Exp $ */
|
||||
/* $OpenBSD: server-client.c,v 1.522 2026/10/15 08:21:11 nicm Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2009 Nicholas Marriott <nicholas.marriott@gmail.com>
|
||||
@@ -2274,7 +2274,7 @@ server_client_check_exit(struct client *c, int force)
|
||||
if (~c->flags & CLIENT_EXIT)
|
||||
return;
|
||||
|
||||
if (c->flags & CLIENT_CONTROL) {
|
||||
if ((c->flags & CLIENT_CONTROL) && c->control_state != NULL) {
|
||||
if (force)
|
||||
control_discard_all(c);
|
||||
else {
|
||||
@@ -2752,6 +2752,8 @@ server_client_dispatch_command(struct client *c, struct imsg *imsg)
|
||||
} else {
|
||||
values = args_from_vector(argc, argv);
|
||||
pr = cmd_parse_from_arguments(values, argc, NULL);
|
||||
args_free_values(values, argc);
|
||||
free(values);
|
||||
switch (pr->status) {
|
||||
case CMD_PARSE_ERROR:
|
||||
cause = pr->error;
|
||||
@@ -2759,8 +2761,6 @@ server_client_dispatch_command(struct client *c, struct imsg *imsg)
|
||||
case CMD_PARSE_SUCCESS:
|
||||
break;
|
||||
}
|
||||
args_free_values(values, argc);
|
||||
free(values);
|
||||
cmd_free_argv(argc, argv);
|
||||
if ((c->flags & CLIENT_READONLY) &&
|
||||
!cmd_list_all_have(pr->cmdlist, CMD_READONLY)) {
|
||||
|
||||
Reference in New Issue
Block a user