summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortb <>2021-04-04 16:19:47 +0000
committertb <>2021-04-04 16:19:47 +0000
commitc4bd1aa16e4e3bcce1a482e636d7dadd7b0de212 (patch)
tree66e6c139157fb74a84fa2dc3ff42b3dec856a430
parente947814ce6eb46cc48b27b041f76414b97773ee1 (diff)
downloadopenbsd-c4bd1aa16e4e3bcce1a482e636d7dadd7b0de212.tar.gz
openbsd-c4bd1aa16e4e3bcce1a482e636d7dadd7b0de212.tar.bz2
openbsd-c4bd1aa16e4e3bcce1a482e636d7dadd7b0de212.zip
Clean up client and server tls{,_config} contexts in tls_test().
Leaks reported by Ilya Shipitsin.
-rw-r--r--src/regress/lib/libtls/tls/tlstest.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/regress/lib/libtls/tls/tlstest.c b/src/regress/lib/libtls/tls/tlstest.c
index 047f9054f8..146842316f 100644
--- a/src/regress/lib/libtls/tls/tlstest.c
+++ b/src/regress/lib/libtls/tls/tlstest.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: tlstest.c,v 1.12 2020/07/04 09:07:02 jsing Exp $ */ 1/* $OpenBSD: tlstest.c,v 1.13 2021/04/04 16:19:47 tb Exp $ */
2/* 2/*
3 * Copyright (c) 2017 Joel Sing <jsing@openbsd.org> 3 * Copyright (c) 2017 Joel Sing <jsing@openbsd.org>
4 * 4 *
@@ -297,6 +297,7 @@ test_tls(char *client_protocols, char *server_protocols, char *ciphers)
297 struct tls_config *client_cfg, *server_cfg; 297 struct tls_config *client_cfg, *server_cfg;
298 struct tls *client, *server; 298 struct tls *client, *server;
299 uint32_t protocols; 299 uint32_t protocols;
300 int failure = 0;
300 301
301 if ((client = tls_client()) == NULL) 302 if ((client = tls_client()) == NULL)
302 errx(1, "failed to create tls client"); 303 errx(1, "failed to create tls client");
@@ -332,7 +333,15 @@ test_tls(char *client_protocols, char *server_protocols, char *ciphers)
332 if (tls_configure(server, server_cfg) == -1) 333 if (tls_configure(server, server_cfg) == -1)
333 errx(1, "failed to configure server: %s", tls_error(server)); 334 errx(1, "failed to configure server: %s", tls_error(server));
334 335
335 return test_tls_cbs(client, server); 336 tls_config_free(client_cfg);
337 tls_config_free(server_cfg);
338
339 failure |= test_tls_cbs(client, server);
340
341 tls_free(client);
342 tls_free(server);
343
344 return (failure);
336} 345}
337 346
338static int 347static int