From 153d581b7f1aa9810037b2bdd3428ca3de0ff59d Mon Sep 17 00:00:00 2001 From: Jay Satiro Date: Sat, 2 May 2020 14:53:09 -0400 Subject: 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 --- lib/asyn-thread.c | 6 ++++-- 1 file 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 */ -- cgit v1.2.3