summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--http/mutual_tls.hpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/http/mutual_tls.hpp b/http/mutual_tls.hpp
index aee85c265e..f8af0f6f57 100644
--- a/http/mutual_tls.hpp
+++ b/http/mutual_tls.hpp
@@ -10,6 +10,7 @@
#include <boost/asio/ssl/verify_context.hpp>
#include <memory>
+#include <span>
inline std::shared_ptr<persistent_data::UserSession>
verifyMtlsUser(const boost::asio::ip::address& clientIp,
@@ -65,16 +66,15 @@ inline std::shared_ptr<persistent_data::UserSession>
ASN1_BIT_STRING* usage = static_cast<ASN1_BIT_STRING*>(
X509_get_ext_d2i(peerCert, NID_key_usage, nullptr, nullptr));
- if (usage == nullptr)
+ if ((usage == nullptr) || (usage->data == nullptr))
{
BMCWEB_LOG_DEBUG << "TLS usage is null";
return nullptr;
}
- for (int i = 0; i < usage->length; i++)
+ for (auto usageChar :
+ std::span(usage->data, static_cast<size_t>(usage->length)))
{
- // NOLINTNEXTLINE(cppcoreguidelines-pro-bounds-pointer-arithmetic)
- unsigned char usageChar = usage->data[i];
if (KU_DIGITAL_SIGNATURE & usageChar)
{
isKeyUsageDigitalSignature = true;