summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJay Satiro <raysatiro@yahoo.com>2020-05-02 14:53:09 -0400
committerJay Satiro <raysatiro@yahoo.com>2020-05-02 15:03:39 -0400
commit153d581b7f1aa9810037b2bdd3428ca3de0ff59d (patch)
treebd4cd88eb76a7351081eb1e1aff5a437995486c3
parent85eda4e87aa54b6412a81f8544939430fc89b8d9 (diff)
downloadcurl-153d581b7f1aa9810037b2bdd3428ca3de0ff59d.tar.gz
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
-rw-r--r--lib/asyn-thread.c6
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 */