summaryrefslogtreecommitdiff
path: root/ssh-xmss.c
diff options
context:
space:
mode:
authorjsg@openbsd.org <jsg@openbsd.org>2020-02-26 13:40:09 +0000
committerDamien Miller <djm@mindrot.org>2020-02-28 12:26:28 +1100
commitd5ba1c03278eb079438bb038266d80d7477d49cb (patch)
tree6d8dd2d802af796bcb7c9d6d018196a448bb9ff6 /ssh-xmss.c
parent9e3220b585c5be19a7431ea4ff8884c137b3a81c (diff)
upstream: change explicit_bzero();free() to freezero()
While freezero() returns early if the pointer is NULL the tests for NULL in callers are left to avoid warnings about passing an uninitialised size argument across a function boundry. ok deraadt@ djm@ OpenBSD-Commit-ID: 2660fa334fcc7cd05ec74dd99cb036f9ade6384a
Diffstat (limited to 'ssh-xmss.c')
-rw-r--r--ssh-xmss.c20
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;