summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorinoguchi <>2022-01-28 13:14:48 +0000
committerinoguchi <>2022-01-28 13:14:48 +0000
commit7e8dca7db37d1b9cfd43cd1f960e3d670a93a461 (patch)
tree775ce40412bfe60e883824ac27b7fc01c98c8931 /src
parent94f6ff99a585a3dab07a030cb9733eb20f4481c2 (diff)
downloadopenbsd-7e8dca7db37d1b9cfd43cd1f960e3d670a93a461.tar.gz
openbsd-7e8dca7db37d1b9cfd43cd1f960e3d670a93a461.tar.bz2
openbsd-7e8dca7db37d1b9cfd43cd1f960e3d670a93a461.zip
Error check for sk_push in libssl
CID 118976 118979 ok tb@
Diffstat (limited to 'src')
-rw-r--r--src/lib/libssl/ssl_cert.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/lib/libssl/ssl_cert.c b/src/lib/libssl/ssl_cert.c
index e91de659ce..71daf3718b 100644
--- a/src/lib/libssl/ssl_cert.c
+++ b/src/lib/libssl/ssl_cert.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ssl_cert.c,v 1.93 2022/01/08 12:59:58 jsing Exp $ */ 1/* $OpenBSD: ssl_cert.c,v 1.94 2022/01/28 13:14:48 inoguchi 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 *
@@ -558,8 +558,10 @@ SSL_load_client_CA_file(const char *file)
558 if (sk_X509_NAME_find(sk, xn) >= 0) 558 if (sk_X509_NAME_find(sk, xn) >= 0)
559 X509_NAME_free(xn); 559 X509_NAME_free(xn);
560 else { 560 else {
561 sk_X509_NAME_push(sk, xn); 561 if (!sk_X509_NAME_push(sk, xn))
562 sk_X509_NAME_push(ret, xn); 562 goto err;
563 if (!sk_X509_NAME_push(ret, xn))
564 goto err;
563 } 565 }
564 } 566 }
565 567
@@ -619,7 +621,8 @@ SSL_add_file_cert_subjects_to_stack(STACK_OF(X509_NAME) *stack,
619 if (sk_X509_NAME_find(stack, xn) >= 0) 621 if (sk_X509_NAME_find(stack, xn) >= 0)
620 X509_NAME_free(xn); 622 X509_NAME_free(xn);
621 else 623 else
622 sk_X509_NAME_push(stack, xn); 624 if (!sk_X509_NAME_push(stack, xn))
625 goto err;
623 } 626 }
624 627
625 ERR_clear_error(); 628 ERR_clear_error();