diff options
-rw-r--r-- | sshkey-xmss.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sshkey-xmss.c b/sshkey-xmss.c index a29e33f39..9e5f5e475 100644 --- a/sshkey-xmss.c +++ b/sshkey-xmss.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: sshkey-xmss.c,v 1.5 2019/06/28 13:35:04 deraadt Exp $ */ | 1 | /* $OpenBSD: sshkey-xmss.c,v 1.6 2019/10/09 00:02:57 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2017 Markus Friedl. All rights reserved. | 3 | * Copyright (c) 2017 Markus Friedl. All rights reserved. |
4 | * | 4 | * |
@@ -977,7 +977,8 @@ sshkey_xmss_decrypt_state(const struct sshkey *k, struct sshbuf *encoded, | |||
977 | goto out; | 977 | goto out; |
978 | } | 978 | } |
979 | /* check that an appropriate amount of auth data is present */ | 979 | /* check that an appropriate amount of auth data is present */ |
980 | if (sshbuf_len(encoded) < encrypted_len + authlen) { | 980 | if (sshbuf_len(encoded) < authlen || |
981 | sshbuf_len(encoded) - authlen < encrypted_len) { | ||
981 | r = SSH_ERR_INVALID_FORMAT; | 982 | r = SSH_ERR_INVALID_FORMAT; |
982 | goto out; | 983 | goto out; |
983 | } | 984 | } |