From bba4f8d0c53cd5d8cf9e2bd6e6fb3515cc71faab Mon Sep 17 00:00:00 2001 From: SChernykh Date: Thu, 11 May 2023 08:54:45 +0200 Subject: [PATCH] Fixed headers for res_query --- CMakeLists.txt | 6 ++++++ src/p2p_server.cpp | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index b28c71d..6a48143 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -204,6 +204,8 @@ include(CheckCSourceCompiles) set(CMAKE_REQUIRED_LIBRARIES "resolv") check_c_source_compiles(" +#include +#include #include #include #include @@ -235,6 +237,10 @@ int main(int argc, char* argv[]) int len = ns_rr_rdlen(rr) - 1; if (len > data[0]) len = data[0]; + if (len <= 0) { + continue; + } + char buf[256]; memcpy(buf, data + 1, len); buf[len] = 0; diff --git a/src/p2p_server.cpp b/src/p2p_server.cpp index 93024a9..f61997a 100644 --- a/src/p2p_server.cpp +++ b/src/p2p_server.cpp @@ -34,6 +34,8 @@ #ifdef _WIN32 #include #elif defined(HAVE_RES_QUERY) +#include +#include #include #include #endif @@ -528,6 +530,9 @@ void P2PServer::load_peer_list() const uint8_t* data = ns_rr_rdata(rr); const int len = std::min(ns_rr_rdlen(rr) - 1, *data); + if (len <= 0) { + continue; + } ++data; if (!saved_list.empty()) {