summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordjm <djm@openbsd.org>2019-01-04 03:23:00 +0000
committerdjm <djm@openbsd.org>2019-01-04 03:23:00 +0000
commit1ab343da8212b0f95807824f9053bc5e558b4f45 (patch)
treebd9ad035e19e132124d4c84caaf09447c8c80a85
parentImplement centering and adjustment to the right margin directly in (diff)
downloadwireguard-openbsd-1ab343da8212b0f95807824f9053bc5e558b4f45.tar.xz
wireguard-openbsd-1ab343da8212b0f95807824f9053bc5e558b4f45.zip
fix memory leak of ciphercontext when rekeying; bz#2942
Patch from Markus Schmidt; ok markus@
-rw-r--r--usr.bin/ssh/packet.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/usr.bin/ssh/packet.c b/usr.bin/ssh/packet.c
index 974abea1c24..df31ae6ee8c 100644
--- a/usr.bin/ssh/packet.c
+++ b/usr.bin/ssh/packet.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: packet.c,v 1.278 2018/12/27 03:25:25 djm Exp $ */
+/* $OpenBSD: packet.c,v 1.279 2019/01/04 03:23:00 djm Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -839,8 +839,6 @@ ssh_set_newkeys(struct ssh *ssh, int mode)
(unsigned long long)state->p_read.blocks,
(unsigned long long)state->p_send.bytes,
(unsigned long long)state->p_send.blocks);
- cipher_free(*ccp);
- *ccp = NULL;
kex_free_newkeys(state->newkeys[mode]);
state->newkeys[mode] = NULL;
}
@@ -859,6 +857,8 @@ ssh_set_newkeys(struct ssh *ssh, int mode)
}
mac->enabled = 1;
DBG(debug("cipher_init_context: %d", mode));
+ cipher_free(*ccp);
+ *ccp = NULL;
if ((r = cipher_init(ccp, enc->cipher, enc->key, enc->key_len,
enc->iv, enc->iv_len, crypt_type)) != 0)
return r;