=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/cmd-run-shell.c,v retrieving revision 1.60 retrieving revision 1.61 diff -c -r1.60 -r1.61 *** src/usr.bin/tmux/cmd-run-shell.c 2020/03/12 13:25:45 1.60 --- src/usr.bin/tmux/cmd-run-shell.c 2020/03/13 06:19:33 1.61 *************** *** 1,4 **** ! /* $OpenBSD: cmd-run-shell.c,v 1.60 2020/03/12 13:25:45 nicm Exp $ */ /* * Copyright (c) 2009 Tiago Cunha --- 1,4 ---- ! /* $OpenBSD: cmd-run-shell.c,v 1.61 2020/03/13 06:19:33 nicm Exp $ */ /* * Copyright (c) 2009 Tiago Cunha *************** *** 114,120 **** cdata->cwd = xstrdup(server_client_get_cwd(item->client, s)); cdata->s = s; ! session_add_ref(s, __func__); evtimer_set(&cdata->timer, cmd_run_shell_timer, cdata); --- 114,121 ---- cdata->cwd = xstrdup(server_client_get_cwd(item->client, s)); cdata->s = s; ! if (s != NULL) ! session_add_ref(s, __func__); evtimer_set(&cdata->timer, cmd_run_shell_timer, cdata); *************** *** 203,209 **** struct cmd_run_shell_data *cdata = data; evtimer_del(&cdata->timer); ! session_remove_ref(cdata->s, __func__); free(cdata->cwd); free(cdata->cmd); free(cdata); --- 204,211 ---- struct cmd_run_shell_data *cdata = data; evtimer_del(&cdata->timer); ! if (cdata->s != NULL) ! session_remove_ref(cdata->s, __func__); free(cdata->cwd); free(cdata->cmd); free(cdata);