diff --git a/src/dht_proxy_client.cpp b/src/dht_proxy_client.cpp index dc4d3f07c82ca8b539bd5c2df35558c28bc1da0e..b91f2824551538e94e34bd86b56a67a7768ed921 100644 --- a/src/dht_proxy_client.cpp +++ b/src/dht_proxy_client.cpp @@ -721,9 +721,10 @@ DhtProxyClient::onProxyInfos(const Json::Value& proxyInfos, const sa_family_t fa ipChanged = pubAddress && pubAddress.toString() != publicIp.toString(); pubAddress = publicIp; - if (auto localIp = proxyInfos["local_ip"]) { - if (localAddress.toString() != localIp.asString()) { - localAddress.setAddress(localIp.asString().c_str()); + if (proxyInfos.isMember("local_ip")) { + std::string localIp = proxyInfos["local_ip"].asString(); + if (localAddress.toString() != localIp) { + localAddress.setAddress(localIp.c_str()); ipChanged = (bool)localAddress; } }