diff options
Diffstat (limited to 'packet.c')
-rw-r--r-- | packet.c | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -1,4 +1,4 @@ -/* $OpenBSD: packet.c,v 1.291 2020/03/06 18:20:44 markus Exp $ */ +/* $OpenBSD: packet.c,v 1.292 2020/06/24 15:10:38 markus Exp $ */ /* * Author: Tatu Ylonen <ylo@cs.hut.fi> * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland @@ -282,7 +282,8 @@ ssh_packet_set_input_hook(struct ssh *ssh, ssh_packet_hook_fn *hook, void *ctx) int ssh_packet_is_rekeying(struct ssh *ssh) { - return ssh->state->rekeying || ssh->kex->done == 0; + return ssh->state->rekeying || + (ssh->kex != NULL && ssh->kex->done == 0); } /* @@ -345,6 +346,8 @@ ssh_packet_set_mux(struct ssh *ssh) { ssh->state->mux = 1; ssh->state->rekeying = 0; + kex_free(ssh->kex); + ssh->kex = NULL; } int |