diff --git a/packet.c b/packet.c index e7abb3416..4cce4133a 100644 --- a/packet.c +++ b/packet.c @@ -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 * Copyright (c) 1995 Tatu Ylonen , 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