fix: untrusted input

Do not read an unlimited size of environment variables.

Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
This commit is contained in:
Kamil Kopryk
2025-02-07 13:56:19 +00:00
committed by Compute-Runtime-Automation
parent 7149743162
commit 03b56dc919
6 changed files with 67 additions and 23 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2018-2024 Intel Corporation
* Copyright (C) 2018-2025 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
@@ -188,7 +188,6 @@ std::string RegistryReader::getSetting(const char *settingName, const std::strin
std::string keyValue = value;
if (!(getSettingStringCommon(settingName, keyValue))) {
char *envValue;
auto prefixString = ApiSpecificConfig::getPrefixStrings();
auto prefixType = ApiSpecificConfig::getPrefixTypes();
@@ -197,7 +196,8 @@ std::string RegistryReader::getSetting(const char *settingName, const std::strin
for (const auto &prefix : prefixString) {
std::string neoKey = prefix;
neoKey += settingName;
envValue = IoFunctions::getenvPtr(neoKey.c_str());
auto envValue = IoFunctions::getEnvironmentVariable(neoKey.c_str());
if (envValue) {
keyValue.assign(envValue);
type = prefixType[i];
@@ -214,7 +214,8 @@ std::string RegistryReader::getSetting(const char *settingName, const std::strin
std::string keyValue = value;
if (!(getSettingStringCommon(settingName, keyValue))) {
const char *envValue = IoFunctions::getenvPtr(settingName);
const char *envValue = IoFunctions::getEnvironmentVariable(settingName);
if (envValue) {
keyValue.assign(envValue);
}