From e317dfdb8a13b62f50322abaca685c723f3c50e8 Mon Sep 17 00:00:00 2001 From: dmiller Date: Mon, 26 Oct 2020 16:59:06 +0000 Subject: [PATCH] Avoid a few calls to Target::timedOut, which is not relevant in host discovery --- scan_engine.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scan_engine.cc b/scan_engine.cc index b27ead039..9aedc7b56 100644 --- a/scan_engine.cc +++ b/scan_engine.cc @@ -542,7 +542,7 @@ bool HostScanStats::sendOK(struct timeval *when) { struct timeval probe_to, earliest_to, sendTime; long tdiff; - if (target->timedOut(&USI->now) || completed()) { + if ((!USI->ping_scan && target->timedOut(&USI->now)) || completed()) { if (when) *when = USI->now; return false; @@ -1167,8 +1167,8 @@ int UltraScanInfo::removeCompletedHosts() { nxt = hostI; nxt++; hss = *hostI; - timedout = hss->target->timedOut(&now); - if (hss->completed() || timedout) { + // Don't bother checking timedOut for discovery scans or if the target is already completed. + if (hss->completed() || (timedout = (!ping_scan) && hss->target->timedOut(&now)) != false) { /* A host to remove! First adjust nextI appropriately */ if (nextI == hostI && incompleteHosts.size() > 1) { nextI++;