From 567725d2d62ebc533a8b72022a0cc5ae08f9127d Mon Sep 17 00:00:00 2001 From: Xander Frangos <33106561+xanderfrangos@users.noreply.github.com> Date: Fri, 19 Jan 2024 12:17:22 -0500 Subject: [PATCH] Only read "certs" and "named_certs" if available --- src/nvhttp.cpp | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/src/nvhttp.cpp b/src/nvhttp.cpp index 94fa4e90191..f23a775f7eb 100644 --- a/src/nvhttp.cpp +++ b/src/nvhttp.cpp @@ -251,20 +251,24 @@ namespace nvhttp { client.uniqueID = uniqID; // Import from old format - for (auto &[_, el] : device_node.get_child("certs")) { - named_cert_t named_cert; - named_cert.name = ""s; - named_cert.cert = el.get_value(); - client.named_certs.emplace_back(named_cert); - client.certs.emplace_back(named_cert.cert); + if(device_node.count("certs")) { + for (auto &[_, el] : device_node.get_child("certs")) { + named_cert_t named_cert; + named_cert.name = ""s; + named_cert.cert = el.get_value(); + client.named_certs.emplace_back(named_cert); + client.certs.emplace_back(named_cert.cert); + } } - for (auto &[_, el] : device_node.get_child("named_certs")) { - named_cert_t named_cert; - named_cert.name = el.get_child("name").get_value(); - named_cert.cert = el.get_child("cert").get_value(); - client.named_certs.emplace_back(named_cert); - client.certs.emplace_back(named_cert.cert); + if(device_node.count("named_certs")) { + for (auto &[_, el] : device_node.get_child("named_certs")) { + named_cert_t named_cert; + named_cert.name = el.get_child("name").get_value(); + named_cert.cert = el.get_child("cert").get_value(); + client.named_certs.emplace_back(named_cert); + client.certs.emplace_back(named_cert.cert); + } } } }