diff options
author | tb <> | 2023-07-04 08:47:01 +0000 |
---|---|---|
committer | tb <> | 2023-07-04 08:47:01 +0000 |
commit | aa6ae09c992307573b17674b1e762095dfd12da6 (patch) | |
tree | e1b32840497f197156b9466484af8e9ef9446b0d /src | |
parent | 127efe31f6e78fc619e5922fdb2f786aff562d44 (diff) | |
download | openbsd-aa6ae09c992307573b17674b1e762095dfd12da6.tar.gz openbsd-aa6ae09c992307573b17674b1e762095dfd12da6.tar.bz2 openbsd-aa6ae09c992307573b17674b1e762095dfd12da6.zip |
Plug leak in the ssltest
Removing -tls1 moved some tests from the legacy stack to the TLSv1.3 stack.
On a HRR, the alpn callback would be called twice and allocate the global
twice, thereby leaking. So free it up front.
Joint suffering with bcook and beck
Diffstat (limited to 'src')
-rw-r--r-- | src/regress/lib/libssl/ssl/ssltest.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/regress/lib/libssl/ssl/ssltest.c b/src/regress/lib/libssl/ssl/ssltest.c index 6b8e243073..f3966e5054 100644 --- a/src/regress/lib/libssl/ssl/ssltest.c +++ b/src/regress/lib/libssl/ssl/ssltest.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssltest.c,v 1.40 2023/07/02 17:21:32 beck Exp $ */ | 1 | /* $OpenBSD: ssltest.c,v 1.41 2023/07/04 08:47:01 tb Exp $ */ |
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
@@ -254,6 +254,7 @@ cb_server_alpn(SSL *s, const unsigned char **out, unsigned char *outlen, | |||
254 | * Make a copy of the selected protocol which will be freed in | 254 | * Make a copy of the selected protocol which will be freed in |
255 | * verify_alpn. | 255 | * verify_alpn. |
256 | */ | 256 | */ |
257 | free(alpn_selected); | ||
257 | if ((alpn_selected = malloc(*outlen)) == NULL) { | 258 | if ((alpn_selected = malloc(*outlen)) == NULL) { |
258 | fprintf(stderr, "malloc failed\n"); | 259 | fprintf(stderr, "malloc failed\n"); |
259 | abort(); | 260 | abort(); |