summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sshkey-xmss.c5
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 }