summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortedu <>2014-06-19 21:24:35 +0000
committertedu <>2014-06-19 21:24:35 +0000
commit41e038d2e8f6a205e6aa50aa0e910df4ff76ec9e (patch)
treeebdc1933afa8bbfc5b54c183755c317232418328 /src
parenta53e20a6c040532f3fcfd5a73b1b493e8f09163a (diff)
downloadopenbsd-41e038d2e8f6a205e6aa50aa0e910df4ff76ec9e.tar.gz
openbsd-41e038d2e8f6a205e6aa50aa0e910df4ff76ec9e.tar.bz2
openbsd-41e038d2e8f6a205e6aa50aa0e910df4ff76ec9e.zip
check stack push return and make some effort to clean up. ok beck miod
Diffstat (limited to 'src')
-rw-r--r--src/lib/libcrypto/x509/x509_vfy.c8
-rw-r--r--src/lib/libssl/src/crypto/x509/x509_vfy.c8
2 files changed, 12 insertions, 4 deletions
diff --git a/src/lib/libcrypto/x509/x509_vfy.c b/src/lib/libcrypto/x509/x509_vfy.c
index eac2e99fd1..4a485fc484 100644
--- a/src/lib/libcrypto/x509/x509_vfy.c
+++ b/src/lib/libcrypto/x509/x509_vfy.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_vfy.c,v 1.27 2014/06/12 15:49:31 deraadt Exp $ */ 1/* $OpenBSD: x509_vfy.c,v 1.28 2014/06/19 21:24:35 tedu 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 *
@@ -313,7 +313,11 @@ X509_verify_cert(X509_STORE_CTX *ctx)
313 ctx->current_cert = x; 313 ctx->current_cert = x;
314 } else { 314 } else {
315 315
316 sk_X509_push(ctx->chain, chain_ss); 316 if (!sk_X509_push(ctx->chain, chain_ss)) {
317 X509_free(chain_ss);
318 X509err(X509_F_X509_VERIFY_CERT, ERR_R_MALLOC_FAILURE);
319 return 0;
320 }
317 num++; 321 num++;
318 ctx->last_untrusted = num; 322 ctx->last_untrusted = num;
319 ctx->current_cert = chain_ss; 323 ctx->current_cert = chain_ss;
diff --git a/src/lib/libssl/src/crypto/x509/x509_vfy.c b/src/lib/libssl/src/crypto/x509/x509_vfy.c
index eac2e99fd1..4a485fc484 100644
--- a/src/lib/libssl/src/crypto/x509/x509_vfy.c
+++ b/src/lib/libssl/src/crypto/x509/x509_vfy.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_vfy.c,v 1.27 2014/06/12 15:49:31 deraadt Exp $ */ 1/* $OpenBSD: x509_vfy.c,v 1.28 2014/06/19 21:24:35 tedu 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 *
@@ -313,7 +313,11 @@ X509_verify_cert(X509_STORE_CTX *ctx)
313 ctx->current_cert = x; 313 ctx->current_cert = x;
314 } else { 314 } else {
315 315
316 sk_X509_push(ctx->chain, chain_ss); 316 if (!sk_X509_push(ctx->chain, chain_ss)) {
317 X509_free(chain_ss);
318 X509err(X509_F_X509_VERIFY_CERT, ERR_R_MALLOC_FAILURE);
319 return 0;
320 }
317 num++; 321 num++;
318 ctx->last_untrusted = num; 322 ctx->last_untrusted = num;
319 ctx->current_cert = chain_ss; 323 ctx->current_cert = chain_ss;