diff options
Diffstat (limited to 'modules/ssl/ssl_util_stapling.c')
-rw-r--r-- | modules/ssl/ssl_util_stapling.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/modules/ssl/ssl_util_stapling.c b/modules/ssl/ssl_util_stapling.c index 7633648c..2dc8fcea 100644 --- a/modules/ssl/ssl_util_stapling.c +++ b/modules/ssl/ssl_util_stapling.c @@ -145,14 +145,15 @@ int ssl_stapling_init_cert(server_rec *s, modssl_ctx_t *mctx, X509 *x) X509_digest(x, EVP_sha1(), cinf->idx, NULL); aia = X509_get1_ocsp(x); - if (aia) + if (aia) { cinf->uri = sk_OPENSSL_STRING_pop(aia); + X509_email_free(aia); + } if (!cinf->uri && !mctx->stapling_force_url) { ap_log_error(APLOG_MARK, APLOG_ERR, 0, s, APLOGNO(02218) "ssl_stapling_init_cert: no responder URL"); + return 0; } - if (aia) - X509_email_free(aia); return 1; } @@ -403,6 +404,13 @@ static BOOL stapling_renew_response(server_rec *s, modssl_ctx_t *mctx, SSL *ssl, else ocspuri = cinf->uri; + if (!ocspuri) { + ap_log_error(APLOG_MARK, APLOG_ERR, 0, s, APLOGNO(02621) + "stapling_renew_response: no uri for responder"); + rv = FALSE; + goto done; + } + /* Create a temporary pool to constrain memory use */ apr_pool_create(&vpool, conn->pool); |