diff options
Diffstat (limited to 'openssl/crypto/conf/conf_def.c')
-rw-r--r-- | openssl/crypto/conf/conf_def.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/openssl/crypto/conf/conf_def.c b/openssl/crypto/conf/conf_def.c index e3ffeb21e..faca9aeb5 100644 --- a/openssl/crypto/conf/conf_def.c +++ b/openssl/crypto/conf/conf_def.c @@ -585,7 +585,11 @@ static int str_copy(CONF *conf, char *section, char **pto, char *from) CONFerr(CONF_F_STR_COPY, CONF_R_VARIABLE_HAS_NO_VALUE); goto err; } - BUF_MEM_grow_clean(buf, (strlen(p) + buf->length - (e - from))); + if (!BUF_MEM_grow_clean(buf, + (strlen(p) + buf->length - (e - from)))) { + CONFerr(CONF_F_STR_COPY, ERR_R_MALLOC_FAILURE); + goto err; + } while (*p) buf->data[to++] = *(p++); |