diff options
Diffstat (limited to 'ssh-xmss.c')
-rw-r--r-- | ssh-xmss.c | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/ssh-xmss.c b/ssh-xmss.c index 4c734fd7d..ccd4c7600 100644 --- a/ssh-xmss.c +++ b/ssh-xmss.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssh-xmss.c,v 1.1 2018/02/23 15:58:38 markus Exp $*/ | 1 | /* $OpenBSD: ssh-xmss.c,v 1.2 2020/02/26 13:40:09 jsg Exp $*/ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2017 Stefan-Lukas Gazdag. | 3 | * Copyright (c) 2017 Stefan-Lukas Gazdag. |
4 | * Copyright (c) 2017 Markus Friedl. | 4 | * Copyright (c) 2017 Markus Friedl. |
@@ -103,10 +103,8 @@ ssh_xmss_sign(const struct sshkey *key, u_char **sigp, size_t *lenp, | |||
103 | r = ret; | 103 | r = ret; |
104 | } | 104 | } |
105 | sshbuf_free(b); | 105 | sshbuf_free(b); |
106 | if (sig != NULL) { | 106 | if (sig != NULL) |
107 | explicit_bzero(sig, slen); | 107 | freezero(sig, slen); |
108 | free(sig); | ||
109 | } | ||
110 | 108 | ||
111 | return r; | 109 | return r; |
112 | } | 110 | } |
@@ -177,14 +175,10 @@ ssh_xmss_verify(const struct sshkey *key, | |||
177 | /* success */ | 175 | /* success */ |
178 | r = 0; | 176 | r = 0; |
179 | out: | 177 | out: |
180 | if (sm != NULL) { | 178 | if (sm != NULL) |
181 | explicit_bzero(sm, smlen); | 179 | freezero(sm, smlen); |
182 | free(sm); | 180 | if (m != NULL) |
183 | } | 181 | freezero(m, smlen); |
184 | if (m != NULL) { | ||
185 | explicit_bzero(m, smlen); /* NB mlen may be invalid if r != 0 */ | ||
186 | free(m); | ||
187 | } | ||
188 | sshbuf_free(b); | 182 | sshbuf_free(b); |
189 | free(ktype); | 183 | free(ktype); |
190 | return r; | 184 | return r; |