summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLyman Epp <lyman.epp@csgi.com>2018-06-12 17:17:30 -0500
committerDaniel Stenberg <daniel@haxx.se>2018-06-13 09:21:40 +0200
commita0f9670ec9caff9fcf4afe2e47904aa143d3b5aa (patch)
tree7e54a2b7257363a901c70ae7a8b30455328bafe9
parentbb9a340c73f3f96b2a8e39add7072aae4dc81628 (diff)
downloadcurl-a0f9670ec9caff9fcf4afe2e47904aa143d3b5aa.tar.gz
Curl_init_do: handle NULL connection pointer passed in
Closes #2653
-rw-r--r--lib/url.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/lib/url.c b/lib/url.c
index 817baaa08..d29eddaea 100644
--- a/lib/url.c
+++ b/lib/url.c
@@ -4711,16 +4711,18 @@ CURLcode Curl_init_do(struct Curl_easy *data, struct connectdata *conn)
{
struct SingleRequest *k = &data->req;
- conn->bits.do_more = FALSE; /* by default there's no curl_do_more() to
- use */
+ if(conn) {
+ conn->bits.do_more = FALSE; /* by default there's no curl_do_more() to
+ use */
+ /* if the protocol used doesn't support wildcards, switch it off */
+ if(data->state.wildcardmatch &&
+ !(conn->handler->flags & PROTOPT_WILDCARD))
+ data->state.wildcardmatch = FALSE;
+ }
data->state.done = FALSE; /* *_done() is not called yet */
data->state.expect100header = FALSE;
- /* if the protocol used doesn't support wildcards, switch it off */
- if(data->state.wildcardmatch &&
- !(conn->handler->flags & PROTOPT_WILDCARD))
- data->state.wildcardmatch = FALSE;
if(data->set.opt_no_body)
/* in HTTP lingo, no body means using the HEAD request... */