summaryrefslogtreecommitdiff
path: root/deps/openssl/openssl/crypto/x509v3/v3_lib.c
diff options
context:
space:
mode:
authorShigeki Ohtsu <ohtsu@ohtsu.org>2017-12-07 22:54:50 +0900
committerMyles Borins <mylesborins@google.com>2017-12-07 13:15:51 -0500
commit53e3277375edc0faa034919b829e0c59572ceb17 (patch)
tree6ceb7f030148725b71b41332c15283abe39ca708 /deps/openssl/openssl/crypto/x509v3/v3_lib.c
parent0bc10b04726959ddf78beed13a4e462837a0d402 (diff)
downloadandroid-node-v8-53e3277375edc0faa034919b829e0c59572ceb17.tar.gz
android-node-v8-53e3277375edc0faa034919b829e0c59572ceb17.tar.bz2
android-node-v8-53e3277375edc0faa034919b829e0c59572ceb17.zip
deps: upgrade openssl sources to 1.0.2n
This replaces all sources of openssl-1.0.2n.tar.gz into deps/openssl/openssl PR-URL: https://github.com/nodejs/node/pull/17526 Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Myles Borins <myles.borins@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Diffstat (limited to 'deps/openssl/openssl/crypto/x509v3/v3_lib.c')
-rw-r--r--deps/openssl/openssl/crypto/x509v3/v3_lib.c22
1 files changed, 15 insertions, 7 deletions
diff --git a/deps/openssl/openssl/crypto/x509v3/v3_lib.c b/deps/openssl/openssl/crypto/x509v3/v3_lib.c
index 8350429aaf..1112802483 100644
--- a/deps/openssl/openssl/crypto/x509v3/v3_lib.c
+++ b/deps/openssl/openssl/crypto/x509v3/v3_lib.c
@@ -286,9 +286,9 @@ void *X509V3_get_d2i(STACK_OF(X509_EXTENSION) *x, int nid, int *crit,
int X509V3_add1_i2d(STACK_OF(X509_EXTENSION) **x, int nid, void *value,
int crit, unsigned long flags)
{
- int extidx = -1;
- int errcode;
- X509_EXTENSION *ext, *extmp;
+ int errcode, extidx = -1;
+ X509_EXTENSION *ext = NULL, *extmp;
+ STACK_OF(X509_EXTENSION) *ret = NULL;
unsigned long ext_op = flags & X509V3_ADD_OP_MASK;
/*
@@ -347,13 +347,21 @@ int X509V3_add1_i2d(STACK_OF(X509_EXTENSION) **x, int nid, void *value,
return 1;
}
- if (!*x && !(*x = sk_X509_EXTENSION_new_null()))
- return -1;
- if (!sk_X509_EXTENSION_push(*x, ext))
- return -1;
+ if ((ret = *x) == NULL
+ && (ret = sk_X509_EXTENSION_new_null()) == NULL)
+ goto m_fail;
+ if (!sk_X509_EXTENSION_push(ret, ext))
+ goto m_fail;
+ *x = ret;
return 1;
+ m_fail:
+ if (ret != *x)
+ sk_X509_EXTENSION_free(ret);
+ X509_EXTENSION_free(ext);
+ return -1;
+
err:
if (!(flags & X509V3_ADD_SILENT))
X509V3err(X509V3_F_X509V3_ADD1_I2D, errcode);