diff options
Diffstat (limited to 'packet.c')
-rw-r--r-- | packet.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: packet.c,v 1.278 2018/12/27 03:25:25 djm Exp $ */ | 1 | /* $OpenBSD: packet.c,v 1.279 2019/01/04 03:23:00 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | 3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> |
4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland | 4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland |
@@ -862,8 +862,6 @@ ssh_set_newkeys(struct ssh *ssh, int mode) | |||
862 | (unsigned long long)state->p_read.blocks, | 862 | (unsigned long long)state->p_read.blocks, |
863 | (unsigned long long)state->p_send.bytes, | 863 | (unsigned long long)state->p_send.bytes, |
864 | (unsigned long long)state->p_send.blocks); | 864 | (unsigned long long)state->p_send.blocks); |
865 | cipher_free(*ccp); | ||
866 | *ccp = NULL; | ||
867 | kex_free_newkeys(state->newkeys[mode]); | 865 | kex_free_newkeys(state->newkeys[mode]); |
868 | state->newkeys[mode] = NULL; | 866 | state->newkeys[mode] = NULL; |
869 | } | 867 | } |
@@ -882,6 +880,8 @@ ssh_set_newkeys(struct ssh *ssh, int mode) | |||
882 | } | 880 | } |
883 | mac->enabled = 1; | 881 | mac->enabled = 1; |
884 | DBG(debug("cipher_init_context: %d", mode)); | 882 | DBG(debug("cipher_init_context: %d", mode)); |
883 | cipher_free(*ccp); | ||
884 | *ccp = NULL; | ||
885 | if ((r = cipher_init(ccp, enc->cipher, enc->key, enc->key_len, | 885 | if ((r = cipher_init(ccp, enc->cipher, enc->key, enc->key_len, |
886 | enc->iv, enc->iv_len, crypt_type)) != 0) | 886 | enc->iv, enc->iv_len, crypt_type)) != 0) |
887 | return r; | 887 | return r; |