Author: rhuijben
Date: Wed Nov 18 19:09:47 2015
New Revision: 1715037
URL: http://svn.apache.org/viewvc?rev=1715037&view=rev
Log:
Don't segfault when explicit setting the config to NULL on a ssl bucket.
This can happen when putting something in an aggregate that didn't
have a config set on it.
* buckets/ssl_buckets.c
Don't try to read from NULL configs.
* config_store.c
(serf_config_get_object): Don't try to read a NULL config.
Modified:
serf/trunk/buckets/ssl_buckets.c
serf/trunk/config_store.c
Modified: serf/trunk/buckets/ssl_buckets.c
URL:
http://svn.apache.org/viewvc/serf/trunk/buckets/ssl_buckets.c?rev=1715037&r1=1715036&r2=1715037&view=diff
==============================================================================
--- serf/trunk/buckets/ssl_buckets.c (original)
+++ serf/trunk/buckets/ssl_buckets.c Wed Nov 18 19:09:47 2015
@@ -2337,13 +2337,15 @@ static apr_status_t serf_ssl_set_config(
}
}
- status = serf_config_get_string(config, SERF_CONFIG_CONN_PIPELINING,
- &pipelining);
- if (status)
- return status;
+ if (config) {
+ status = serf_config_get_string(config, SERF_CONFIG_CONN_PIPELINING,
+ &pipelining);
+ if (status)
+ return status;
- if (strcmp(pipelining, "Y") == 0) {
- SSL_CTX_set_info_callback(ssl_ctx->ctx, detect_renegotiate);
+ if (strcmp(pipelining, "Y") == 0) {
+ SSL_CTX_set_info_callback(ssl_ctx->ctx, detect_renegotiate);
+ }
}
return err_status;
Modified: serf/trunk/config_store.c
URL:
http://svn.apache.org/viewvc/serf/trunk/config_store.c?rev=1715037&r1=1715036&r2=1715037&view=diff
==============================================================================
--- serf/trunk/config_store.c (original)
+++ serf/trunk/config_store.c Wed Nov 18 19:09:47 2015
@@ -332,6 +332,10 @@ apr_status_t serf_config_get_object(serf
{
serf__config_hdr_t *target;
+ if (config == NULL) {
+ *value = NULL;
+ return APR_EINVARG;
+ }
if (key & SERF_CONFIG_PER_CONTEXT)
target = config->per_context;
else if (key & SERF_CONFIG_PER_HOST)