diff options
author | Daniel Stenberg <daniel@haxx.se> | 2018-07-04 00:58:39 +0200 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2018-07-05 22:25:22 +0200 |
commit | 771b256f3607b93712af27fee534c4ac308a364c (patch) | |
tree | cb7f6391eb005fc70c86c53dadafe6f613571162 | |
parent | 5f13ce6df1dde5a61a408fb4dfea6777a9ff0601 (diff) | |
download | curl-771b256f3607b93712af27fee534c4ac308a364c.tar.gz |
ares: check for NULL in completed-callback
-rw-r--r-- | lib/asyn-ares.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/lib/asyn-ares.c b/lib/asyn-ares.c index 00fe1adb5..5cfb2602d 100644 --- a/lib/asyn-ares.c +++ b/lib/asyn-ares.c @@ -475,17 +475,19 @@ static void query_completed_cb(void *arg, /* (struct connectdata *) */ return; res = (struct ResolverResults *)conn->async.os_specific; - res->num_pending--; + if(res) { + res->num_pending--; - if(CURL_ASYNC_SUCCESS == status) { - Curl_addrinfo *ai = Curl_he2ai(hostent, conn->async.port); - if(ai) { - compound_results(res, ai); + if(CURL_ASYNC_SUCCESS == status) { + Curl_addrinfo *ai = Curl_he2ai(hostent, conn->async.port); + if(ai) { + compound_results(res, ai); + } } + /* A successful result overwrites any previous error */ + if(res->last_status != ARES_SUCCESS) + res->last_status = status; } - /* A successful result overwrites any previous error */ - if(res->last_status != ARES_SUCCESS) - res->last_status = status; } /* |