diff --git a/cfg.c b/cfg.c index d2d5c93b..9d397765 100644 --- a/cfg.c +++ b/cfg.c @@ -139,6 +139,7 @@ cfg_print_causes(struct cmd_q *cmdq) free(cfg_causes); cfg_causes = NULL; + cfg_ncauses = 0; } void @@ -160,4 +161,5 @@ cfg_show_causes(struct session *s) free(cfg_causes); cfg_causes = NULL; + cfg_ncauses = 0; } diff --git a/cmd-find.c b/cmd-find.c index a71968a1..f7c1ba74 100644 --- a/cmd-find.c +++ b/cmd-find.c @@ -125,13 +125,17 @@ cmd_find_best_client(struct client **clist, u_int csize) c = NULL; if (clist != NULL) { for (i = 0; i < csize; i++) { + if (clist[i]->session == NULL) + continue; if (cmd_find_client_better(clist[i], c)) c = clist[i]; } } else { TAILQ_FOREACH(c_loop, &clients, entry) { + if (c_loop->session == NULL) + continue; if (cmd_find_client_better(c_loop, c)) - c_loop = c; + c = c_loop; } } return (c);