From a56bf3f115703d4fa8214dc956385844c7578532 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com>
Date: Wed, 12 Oct 2016 13:04:44 -0400
Subject: [PATCH] dhtrunner: handle null callback in pingNode

---
 src/dhtrunner.cpp | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/dhtrunner.cpp b/src/dhtrunner.cpp
index 8a39fee2..f4b7c655 100644
--- a/src/dhtrunner.cpp
+++ b/src/dhtrunner.cpp
@@ -684,15 +684,15 @@ DhtRunner::bootstrap(const std::vector<std::pair<sockaddr_storage, socklen_t>>&
 {
     std::lock_guard<std::mutex> lck(storage_mtx);
     pending_ops_prio.emplace([=](SecureDht& dht) mutable {
-        auto rem = std::make_shared<std::pair<size_t, bool>>(nodes.size(), false);
+        auto rem = cb ? std::make_shared<std::pair<size_t, bool>>(nodes.size(), false) : nullptr;
         for (auto& node : nodes)
-            dht.pingNode((sockaddr*)&node.first, node.second, [rem,cb](bool ok) {
+            dht.pingNode((sockaddr*)&node.first, node.second, cb ? [rem,cb](bool ok) {
                 auto& r = *rem;
                 r.first--;
                 r.second |= ok;
                 if (not r.first)
                     cb(r.second);
-            });
+            } : DoneCallbackSimple{});
     });
     cv.notify_all();
 }
-- 
GitLab