summaryrefslogtreecommitdiff
path: root/deps/openssl/openssl/crypto/conf/conf_api.c
diff options
context:
space:
mode:
Diffstat (limited to 'deps/openssl/openssl/crypto/conf/conf_api.c')
-rw-r--r--deps/openssl/openssl/crypto/conf/conf_api.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/deps/openssl/openssl/crypto/conf/conf_api.c b/deps/openssl/openssl/crypto/conf/conf_api.c
index 5535416ab3..79e682a847 100644
--- a/deps/openssl/openssl/crypto/conf/conf_api.c
+++ b/deps/openssl/openssl/crypto/conf/conf_api.c
@@ -1,5 +1,5 @@
/*
- * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the OpenSSL license (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -205,10 +205,14 @@ CONF_VALUE *_CONF_new_section(CONF *conf, const char *section)
vv = lh_CONF_VALUE_insert(conf->data, v);
OPENSSL_assert(vv == NULL);
+ if (lh_CONF_VALUE_error(conf->data) > 0)
+ goto err;
return v;
err:
sk_CONF_VALUE_free(sk);
+ if (v != NULL)
+ OPENSSL_free(v->section);
OPENSSL_free(v);
return NULL;
}