From 2549d37d40720a958d0965f4cb758e3b5106e760 Mon Sep 17 00:00:00 2001 From: Remi Gacogne Date: Tue, 28 May 2024 10:31:02 +0200 Subject: [PATCH] dnsdist: Hopefully appease the static analyzer gods --- pdns/dnsdistdist/dnsdist-lua-ffi.cc | 10 +++++----- pdns/dnsdistdist/test-dnsdist-lua-ffi.cc | 14 +++++++------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/pdns/dnsdistdist/dnsdist-lua-ffi.cc b/pdns/dnsdistdist/dnsdist-lua-ffi.cc index 48d6bb5a5c..e399c438c5 100644 --- a/pdns/dnsdistdist/dnsdist-lua-ffi.cc +++ b/pdns/dnsdistdist/dnsdist-lua-ffi.cc @@ -1092,11 +1092,11 @@ bool dnsdist_ffi_dnsquestion_add_proxy_protocol_values(dnsdist_ffi_dnsquestion_t if (!dnsQuestion->dq->proxyProtocolValues) { dnsQuestion->dq->proxyProtocolValues = make_unique>(); } - if (valuesCount > 0) { - dnsQuestion->dq->proxyProtocolValues->reserve(dnsQuestion->dq->proxyProtocolValues->size() + valuesCount); - for (size_t idx = 0; idx < valuesCount; idx++) { - dnsQuestion->dq->proxyProtocolValues->push_back({ std::string(values[idx].value, values[idx].size), values[idx].type }); - } + + dnsQuestion->dq->proxyProtocolValues->reserve(dnsQuestion->dq->proxyProtocolValues->size() + valuesCount); + for (size_t idx = 0; idx < valuesCount; idx++) { + // NOLINTNEXTLINE(cppcoreguidelines-pro-bounds-pointer-arithmetic): the Lua FFI API is a C API.. + dnsQuestion->dq->proxyProtocolValues->push_back({ std::string(values[idx].value, values[idx].size), values[idx].type }); } return true; diff --git a/pdns/dnsdistdist/test-dnsdist-lua-ffi.cc b/pdns/dnsdistdist/test-dnsdist-lua-ffi.cc index c58a205bfb..d0cd68ea55 100644 --- a/pdns/dnsdistdist/test-dnsdist-lua-ffi.cc +++ b/pdns/dnsdistdist/test-dnsdist-lua-ffi.cc @@ -590,8 +590,8 @@ BOOST_AUTO_TEST_CASE(test_ProxyProtocolQuery) pwQ.getHeader()->rd = 1; pwQ.getHeader()->id = htons(42); - DNSQuestion dq(ids, query); - dnsdist_ffi_dnsquestion_t lightDQ(&dq); + DNSQuestion dnsQuestion(ids, query); + dnsdist_ffi_dnsquestion_t lightDQ(&dnsQuestion); std::vector values; values.push_back({"test-value", 10U, 1U}); @@ -614,11 +614,11 @@ BOOST_AUTO_TEST_CASE(test_ProxyProtocolQuery) { auto added = dnsdist_ffi_dnsquestion_add_proxy_protocol_values(&lightDQ, values.size(), values.data()); BOOST_CHECK_EQUAL(added, true); - BOOST_REQUIRE(dq.proxyProtocolValues != nullptr); - BOOST_REQUIRE_EQUAL(dq.proxyProtocolValues->size(), values.size()); - BOOST_CHECK_EQUAL(dq.proxyProtocolValues->at(0).type, values.at(0).type); - BOOST_REQUIRE_EQUAL(dq.proxyProtocolValues->at(0).content.size(), values.at(0).size); - BOOST_CHECK_EQUAL(memcmp(dq.proxyProtocolValues->at(0).content.data(), values.at(0).value, values.at(0).size), 0); + BOOST_REQUIRE(dnsQuestion.proxyProtocolValues != nullptr); + BOOST_REQUIRE_EQUAL(dnsQuestion.proxyProtocolValues->size(), values.size()); + BOOST_CHECK_EQUAL(dnsQuestion.proxyProtocolValues->at(0).type, values.at(0).type); + BOOST_REQUIRE_EQUAL(dnsQuestion.proxyProtocolValues->at(0).content.size(), values.at(0).size); + BOOST_CHECK_EQUAL(memcmp(dnsQuestion.proxyProtocolValues->at(0).content.data(), values.at(0).value, values.at(0).size), 0); } } -- 2.47.2