From 2649b842077e42920912f1bec8ed5d07e34d54fa Mon Sep 17 00:00:00 2001 From: Ned Wright Date: Mon, 18 Dec 2023 15:44:16 +0000 Subject: [PATCH] Checking for empty strings --- .../orchestration/details_resolver/details_resolver.cc | 6 +++--- .../details_resolver/details_resolving_handler.cc | 2 +- .../security_apps/orchestration/orchestration_comp.cc | 1 + 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/components/security_apps/orchestration/details_resolver/details_resolver.cc b/components/security_apps/orchestration/details_resolver/details_resolver.cc index b9452b9..d1debfa 100644 --- a/components/security_apps/orchestration/details_resolver/details_resolver.cc +++ b/components/security_apps/orchestration/details_resolver/details_resolver.cc @@ -127,7 +127,7 @@ DetailsResolver::Impl::isReverseProxy() { #if defined(gaia) || defined(smb) auto is_reverse_proxy = DetailsResolvingHanlder::getCommandOutput("cpprod_util CPPROD_IsConfigured CPwaap"); - if (is_reverse_proxy.ok()) { + if (is_reverse_proxy.ok() && !is_reverse_proxy.unpack().empty()) { return is_reverse_proxy.unpack().front() == '1'; } #endif @@ -142,7 +142,7 @@ DetailsResolver::Impl::isKernelVersion3OrHigher() "| cut -d '.' -f 1 | awk -F: '{ if ( $1 >= 3 ) {print 1} else {print 0}}'"; auto is_gogo = DetailsResolvingHanlder::getCommandOutput(cmd); - if (is_gogo.ok()) { + if (is_gogo.ok() && !is_gogo.unpack().empty()) { return is_gogo.unpack().front() == '1'; } return false; @@ -155,7 +155,7 @@ DetailsResolver::Impl::isGwNotVsx() static const string is_vsx_cmd = "cpprod_util FWisVSX"; auto is_gw = DetailsResolvingHanlder::getCommandOutput(is_gw_cmd); auto is_vsx = DetailsResolvingHanlder::getCommandOutput(is_vsx_cmd); - if (is_gw.ok() && is_vsx.ok()) { + if (is_gw.ok() && is_vsx.ok() && !is_gw.unpack().empty() && !is_vsx.unpack().empty()) { return is_gw.unpack().front() == '1' && is_vsx.unpack().front() == '0'; } return false; diff --git a/components/security_apps/orchestration/details_resolver/details_resolving_handler.cc b/components/security_apps/orchestration/details_resolver/details_resolving_handler.cc index 33046cc..c68e9a7 100755 --- a/components/security_apps/orchestration/details_resolver/details_resolving_handler.cc +++ b/components/security_apps/orchestration/details_resolver/details_resolving_handler.cc @@ -108,7 +108,7 @@ DetailsResolvingHanlder::Impl::getCommandOutput(const string &cmd) if (!result.ok()) return result; auto unpacked_result = result.unpack(); - if (unpacked_result.back() == '\n') unpacked_result.pop_back(); + if (!unpacked_result.empty() && unpacked_result.back() == '\n') unpacked_result.pop_back(); return unpacked_result; } diff --git a/components/security_apps/orchestration/orchestration_comp.cc b/components/security_apps/orchestration/orchestration_comp.cc index cb06c6c..6d8036a 100755 --- a/components/security_apps/orchestration/orchestration_comp.cc +++ b/components/security_apps/orchestration/orchestration_comp.cc @@ -1893,6 +1893,7 @@ private: auto result = i_shell_cmd->getExecOutput(openssl_dir_cmd); if (result.ok()) { string val_openssl_dir = result.unpack(); + if (val_openssl_dir.empty()) return; if (val_openssl_dir.back() == '\n') val_openssl_dir.pop_back(); dbgTrace(D_ORCHESTRATOR) << "Adding OpenSSL default directory to agent details. Directory: "