summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib/libtls/tls_config.c7
-rw-r--r--src/lib/libtls/tls_internal.h3
-rw-r--r--src/lib/libtls/tls_keypair.c4
3 files changed, 6 insertions, 8 deletions
diff --git a/src/lib/libtls/tls_config.c b/src/lib/libtls/tls_config.c
index d32176fe6e..6094c74265 100644
--- a/src/lib/libtls/tls_config.c
+++ b/src/lib/libtls/tls_config.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: tls_config.c,v 1.51 2018/03/20 15:40:10 jsing Exp $ */ 1/* $OpenBSD: tls_config.c,v 1.51.2.1 2018/04/18 16:29:11 jsing Exp $ */
2/* 2/*
3 * Copyright (c) 2014 Joel Sing <jsing@openbsd.org> 3 * Copyright (c) 2014 Joel Sing <jsing@openbsd.org>
4 * 4 *
@@ -189,10 +189,7 @@ tls_config_clear_keys(struct tls_config *config)
189 struct tls_keypair *kp; 189 struct tls_keypair *kp;
190 190
191 for (kp = config->keypair; kp != NULL; kp = kp->next) 191 for (kp = config->keypair; kp != NULL; kp = kp->next)
192 tls_keypair_clear(kp); 192 tls_keypair_clear_key(kp);
193
194 tls_config_set_ca_mem(config, NULL, 0);
195 tls_config_set_crl_mem(config, NULL, 0);
196} 193}
197 194
198int 195int
diff --git a/src/lib/libtls/tls_internal.h b/src/lib/libtls/tls_internal.h
index 0d7e2289d3..1746a1aabc 100644
--- a/src/lib/libtls/tls_internal.h
+++ b/src/lib/libtls/tls_internal.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: tls_internal.h,v 1.71 2018/03/19 16:34:47 jsing Exp $ */ 1/* $OpenBSD: tls_internal.h,v 1.71.2.1 2018/04/18 16:29:11 jsing Exp $ */
2/* 2/*
3 * Copyright (c) 2014 Jeremie Courreges-Anglas <jca@openbsd.org> 3 * Copyright (c) 2014 Jeremie Courreges-Anglas <jca@openbsd.org>
4 * Copyright (c) 2014 Joel Sing <jsing@openbsd.org> 4 * Copyright (c) 2014 Joel Sing <jsing@openbsd.org>
@@ -199,6 +199,7 @@ int tls_set_mem(char **_dest, size_t *_destlen, const void *_src,
199int tls_set_string(const char **_dest, const char *_src); 199int tls_set_string(const char **_dest, const char *_src);
200 200
201struct tls_keypair *tls_keypair_new(void); 201struct tls_keypair *tls_keypair_new(void);
202void tls_keypair_clear_key(struct tls_keypair *_keypair);
202void tls_keypair_clear(struct tls_keypair *_keypair); 203void tls_keypair_clear(struct tls_keypair *_keypair);
203void tls_keypair_free(struct tls_keypair *_keypair); 204void tls_keypair_free(struct tls_keypair *_keypair);
204int tls_keypair_set_cert_file(struct tls_keypair *_keypair, 205int tls_keypair_set_cert_file(struct tls_keypair *_keypair,
diff --git a/src/lib/libtls/tls_keypair.c b/src/lib/libtls/tls_keypair.c
index 03e7f4ad76..64048cf6a2 100644
--- a/src/lib/libtls/tls_keypair.c
+++ b/src/lib/libtls/tls_keypair.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: tls_keypair.c,v 1.5 2018/02/10 04:57:35 jsing Exp $ */ 1/* $OpenBSD: tls_keypair.c,v 1.5.2.1 2018/04/18 16:29:11 jsing Exp $ */
2/* 2/*
3 * Copyright (c) 2014 Joel Sing <jsing@openbsd.org> 3 * Copyright (c) 2014 Joel Sing <jsing@openbsd.org>
4 * 4 *
@@ -29,7 +29,7 @@ tls_keypair_new(void)
29 return calloc(1, sizeof(struct tls_keypair)); 29 return calloc(1, sizeof(struct tls_keypair));
30} 30}
31 31
32static void 32void
33tls_keypair_clear_key(struct tls_keypair *keypair) 33tls_keypair_clear_key(struct tls_keypair *keypair)
34{ 34{
35 freezero(keypair->key_mem, keypair->key_len); 35 freezero(keypair->key_mem, keypair->key_len);