summaryrefslogtreecommitdiffstats
path: root/crypto/conf/conf_err.c
diff options
context:
space:
mode:
authorMatt Caswell <matt@openssl.org>2017-03-10 10:51:35 +0000
committerMatt Caswell <matt@openssl.org>2017-03-12 00:19:14 +0000
commit8a585601fea1091022034dd14b961c1ecd5916c3 (patch)
tree89aabb7a9041e1c7cd13a87265551adb6b469581 /crypto/conf/conf_err.c
parenta3b0d466930ec45bc3ddf4c9e853d73d37783f44 (diff)
Fix out-of-memory condition in conf
conf has the ability to expand variables in config files. Repeatedly doing this can lead to an exponential increase in the amount of memory required. This places a limit on the length of a value that can result from an expansion. Credit to OSS-Fuzz for finding this problem. Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/2894)
Diffstat (limited to 'crypto/conf/conf_err.c')
-rw-r--r--crypto/conf/conf_err.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/crypto/conf/conf_err.c b/crypto/conf/conf_err.c
index b583c057cd..0863bc4d36 100644
--- a/crypto/conf/conf_err.c
+++ b/crypto/conf/conf_err.c
@@ -1,6 +1,6 @@
/*
* Generated by util/mkerr.pl DO NOT EDIT
- * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 1995-2017 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
@@ -60,6 +60,8 @@ static ERR_STRING_DATA CONF_str_reasons[] = {
{ERR_REASON(CONF_R_UNABLE_TO_CREATE_NEW_SECTION),
"unable to create new section"},
{ERR_REASON(CONF_R_UNKNOWN_MODULE_NAME), "unknown module name"},
+ {ERR_REASON(CONF_R_VARIABLE_EXPANSION_TOO_LONG),
+ "variable expansion too long"},
{ERR_REASON(CONF_R_VARIABLE_HAS_NO_VALUE), "variable has no value"},
{0, NULL}
};