diff options
author | Jay Satiro <raysatiro@yahoo.com> | 2020-05-02 14:53:09 -0400 |
---|---|---|
committer | Jay Satiro <raysatiro@yahoo.com> | 2020-05-02 15:03:39 -0400 |
commit | 153d581b7f1aa9810037b2bdd3428ca3de0ff59d (patch) | |
tree | bd4cd88eb76a7351081eb1e1aff5a437995486c3 /lib | |
parent | 85eda4e87aa54b6412a81f8544939430fc89b8d9 (diff) |
asyn-thread: fix cppcheck warning
- Check for NULL entry parameter before attempting to deref entry in
Curl_resolver_is_resolved, like is already done in asyn-ares.
This is to silence cppcheck which does not seem to understand that
asyn-ares and asyn-thread have separate Curl_resolver_is_resolved
and those units are mutually exclusive. Prior to this change it warned
of a scenario where asyn-thread's Curl_resolver_is_resolved is called
with a NULL entry from asyn-ares, but that couldn't happen.
Reported-by: rl1987@users.noreply.github.com
Fixes https://github.com/curl/curl/issues/5326
Diffstat (limited to 'lib')
-rw-r--r-- | lib/asyn-thread.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/asyn-thread.c b/lib/asyn-thread.c index 68dcbb3ec..6f63ce833 100644 --- a/lib/asyn-thread.c +++ b/lib/asyn-thread.c @@ -593,7 +593,8 @@ CURLcode Curl_resolver_is_resolved(struct connectdata *conn, struct thread_data *td = (struct thread_data*) conn->async.os_specific; int done = 0; - *entry = NULL; + if(entry) + *entry = NULL; if(!td) { DEBUGASSERT(td); @@ -613,7 +614,8 @@ CURLcode Curl_resolver_is_resolved(struct connectdata *conn, return result; } destroy_async_data(&conn->async); - *entry = conn->async.dns; + if(entry) + *entry = conn->async.dns; } else { /* poll for name lookup done with exponential backoff up to 250ms */ |