summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortb <>2021-03-22 20:05:21 +0000
committertb <>2021-03-22 20:05:21 +0000
commit5187230abb7f49869450f3a993b50b137bd3ddfe (patch)
treee930c773623c1093059a69f8b96b754b5711bf75 /src
parenteca136386e46c2c7850825330ee8c19374d1fe58 (diff)
downloadopenbsd-5187230abb7f49869450f3a993b50b137bd3ddfe.tar.gz
openbsd-5187230abb7f49869450f3a993b50b137bd3ddfe.tar.bz2
openbsd-5187230abb7f49869450f3a993b50b137bd3ddfe.zip
Plug a few memory leaks reported by Ilya Shipitsin
Diffstat (limited to 'src')
-rw-r--r--src/regress/lib/libssl/asn1/asn1test.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/src/regress/lib/libssl/asn1/asn1test.c b/src/regress/lib/libssl/asn1/asn1test.c
index 69be086724..13f3d10673 100644
--- a/src/regress/lib/libssl/asn1/asn1test.c
+++ b/src/regress/lib/libssl/asn1/asn1test.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: asn1test.c,v 1.6 2016/12/26 15:31:38 jsing Exp $ */ 1/* $OpenBSD: asn1test.c,v 1.7 2021/03/22 20:05:21 tb Exp $ */
2/* 2/*
3 * Copyright (c) 2014, 2016 Joel Sing <jsing@openbsd.org> 3 * Copyright (c) 2014, 2016 Joel Sing <jsing@openbsd.org>
4 * 4 *
@@ -334,7 +334,7 @@ session_cmp(SSL_SESSION *s1, SSL_SESSION *s2)
334 fprintf(stderr, "peer differs\n"); 334 fprintf(stderr, "peer differs\n");
335 return (1); 335 return (1);
336 } 336 }
337 337
338 if (s1->verify_result != s2->verify_result) { 338 if (s1->verify_result != s2->verify_result) {
339 fprintf(stderr, "verify_result differs: %li != %li\n", 339 fprintf(stderr, "verify_result differs: %li != %li\n",
340 s1->verify_result, s2->verify_result); 340 s1->verify_result, s2->verify_result);
@@ -369,7 +369,7 @@ session_cmp(SSL_SESSION *s1, SSL_SESSION *s2)
369static int 369static int
370do_ssl_asn1_test(int test_no, struct ssl_asn1_test *sat) 370do_ssl_asn1_test(int test_no, struct ssl_asn1_test *sat)
371{ 371{
372 SSL_SESSION session, *sp = NULL; 372 SSL_SESSION *sp = NULL;
373 unsigned char *ap, *asn1 = NULL; 373 unsigned char *ap, *asn1 = NULL;
374 const unsigned char *pp; 374 const unsigned char *pp;
375 int i, len, rv = 1; 375 int i, len, rv = 1;
@@ -426,11 +426,9 @@ do_ssl_asn1_test(int test_no, struct ssl_asn1_test *sat)
426 goto failed; 426 goto failed;
427 } 427 }
428 428
429 sp = &session;
430 memset(sp, 0, sizeof(*sp));
431 pp = sat->asn1; 429 pp = sat->asn1;
432 430
433 if ((sp = d2i_SSL_SESSION(&sp, &pp, sat->asn1_len)) == NULL) { 431 if ((sp = d2i_SSL_SESSION(NULL, &pp, sat->asn1_len)) == NULL) {
434 fprintf(stderr, "FAIL: test %i - decoding failed\n", test_no); 432 fprintf(stderr, "FAIL: test %i - decoding failed\n", test_no);
435 goto failed; 433 goto failed;
436 } 434 }
@@ -442,9 +440,9 @@ do_ssl_asn1_test(int test_no, struct ssl_asn1_test *sat)
442 440
443 rv = 0; 441 rv = 0;
444 442
445failed: 443 failed:
446 ERR_print_errors(BIO_new_fp(stderr, BIO_NOCLOSE)); 444 ERR_print_errors_fp(stderr);
447 445 SSL_SESSION_free(sp);
448 free(asn1); 446 free(asn1);
449 447
450 return (rv); 448 return (rv);