diff options
author | FdaSilvaYY <fdasilvayy@gmail.com> | 2016-06-04 00:15:19 +0200 |
---|---|---|
committer | Matt Caswell <matt@openssl.org> | 2016-06-23 14:03:29 +0100 |
commit | 3c82e437bb3af822ea13cd5a24bab0745c556246 (patch) | |
tree | fd9f622667bf9080451b96bc82e3715d23c31daa /ssl/s3_lib.c | |
parent | 687b48685931638ca5fca2a7d5e13516ad40ea4b (diff) |
Add checks on sk_TYPE_push() returned result
Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Diffstat (limited to 'ssl/s3_lib.c')
-rw-r--r-- | ssl/s3_lib.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/ssl/s3_lib.c b/ssl/s3_lib.c index 44dac24c8c..bd831bc48d 100644 --- a/ssl/s3_lib.c +++ b/ssl/s3_lib.c @@ -3410,10 +3410,15 @@ long ssl3_ctx_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg) /* A Thawte special :-) */ case SSL_CTRL_EXTRA_CHAIN_CERT: if (ctx->extra_certs == NULL) { - if ((ctx->extra_certs = sk_X509_new_null()) == NULL) - return (0); + if ((ctx->extra_certs = sk_X509_new_null()) == NULL) { + SSLerr(SSL_F_SSL3_CTX_CTRL, ERR_R_MALLOC_FAILURE); + return 0; + } + } + if (!sk_X509_push(ctx->extra_certs, (X509 *)parg)) { + SSLerr(SSL_F_SSL3_CTX_CTRL, ERR_R_MALLOC_FAILURE); + return 0; } - sk_X509_push(ctx->extra_certs, (X509 *)parg); break; case SSL_CTRL_GET_EXTRA_CHAIN_CERTS: |