diff options
-rw-r--r-- | lib/multi.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/multi.c b/lib/multi.c index f4e15c413..ff43378f5 100644 --- a/lib/multi.c +++ b/lib/multi.c @@ -984,6 +984,16 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi, break; } + if(!easy->easy_conn && + easy->state > CURLM_STATE_CONNECT && + easy->state < CURLM_STATE_DONE) { + /* In all these states, the code will blindly access 'easy->easy_conn' + so this is precaution that it isn't NULL. And it silences static + analyzers. */ + failf(data, "In state %d with no easy_conn, bail out!\n", easy->state); + return CURLM_INTERNAL_ERROR; + } + if(easy->easy_conn && easy->state > CURLM_STATE_CONNECT && easy->state < CURLM_STATE_COMPLETED) /* Make sure we set the connection's current owner */ |