未验证 提交 9da6608e 编写于 作者: O openharmony_ci 提交者: Gitee

!606 fix 解决xts测试失败问题

Merge pull request !606 from Mupceet/fixxts
......@@ -26,6 +26,7 @@ extern "C" {
#define PARAM_VALUE_LEN_MAX 96
#define PARAM_NAME_LEN_MAX 96
#define OS_FULL_NAME_LEN 128
#define MAX_VALUE_LEN 128
#define VERSION_ID_MAX_LEN 256
static const char EMPTY_STR[] = { "" };
......
......@@ -31,6 +31,14 @@
static const char *g_emptyStr = "";
int IsValidValue(const char *value, unsigned int len)
{
if ((value == NULL) || (strlen(value) + 1 > len)) {
return 0;
}
return 1;
}
int HalGetParameter(const char *key, const char *def, char *value, uint32_t len)
{
if ((key == NULL) || (value == NULL)) {
......
......@@ -39,6 +39,7 @@ const char *GetProductModel_(void);
const char *GetManufacture_(void);
const char *GetSerial_(void);
int GetDevUdid_(char *udid, int size);
int IsValidValue(const char *value, unsigned int len);
#ifdef __cplusplus
#if __cplusplus
......
......@@ -66,15 +66,17 @@ std::string GetParameter(const std::string& key, const std::string& def)
{
uint32_t size = 0;
int ret = SystemReadParam(key.c_str(), NULL, &size);
if (ret != 0) {
return std::string(def);
}
std::vector<char> value(size + 1);
ret = SystemReadParam(key.c_str(), value.data(), &size);
if (ret == 0) {
return std::string(value.data());
std::vector<char> value(size + 1);
ret = SystemReadParam(key.c_str(), value.data(), &size);
if (ret == 0) {
return std::string(value.data());
}
}
if (IsValidValue(def.c_str(), MAX_VALUE_LEN) == 1) {
return std::string(def);
}
return std::string(def);
return "";
}
bool GetBoolParameter(const std::string& key, bool def)
......@@ -99,16 +101,18 @@ int GetStringParameter(const std::string key, std::string &value, const std::str
{
uint32_t size = 0;
int ret = SystemReadParam(key.c_str(), NULL, &size);
if (ret != 0) {
value = def;
return EC_FAILURE;
}
value.resize(size + 1);
ret = SystemReadParam(key.c_str(), const_cast<char *>(value.data()), &size);
if (ret == 0) {
std::vector<char> data(size + 1);
ret = SystemReadParam(key.c_str(), data.data(), &size);
if (ret == 0) {
value = std::string(data.data());
return EC_SUCCESS;
}
}
if (IsValidValue(def.c_str(), MAX_VALUE_LEN) == 1) {
value = std::string(def);
return EC_SUCCESS;
}
value = def;
return EC_FAILURE;
}
......
......@@ -112,7 +112,6 @@ if (defined(ohos_lite)) {
":lite_ohos_param_to",
]
include_dirs += [ "$root_out_dir/gen/init_lite" ]
defines += [ "PARAM_LOAD_CFG_FROM_CODE" ]
}
}
......@@ -159,7 +158,6 @@ if (defined(ohos_lite)) {
":lite_ohos_param_to",
]
include_dirs += [ "$root_out_dir/gen/init_lite" ]
defines += [ "PARAM_LOAD_CFG_FROM_CODE" ]
}
}
} else {
......
......@@ -135,7 +135,6 @@ if (defined(ohos_lite)) {
"//third_party/mbedtls:mbedtls",
]
include_dirs += [ "$root_out_dir/gen/init_lite" ]
defines += [ "PARAM_LOAD_CFG_FROM_CODE" ]
}
if (ohos_kernel_type == "liteos_m") {
......@@ -164,7 +163,6 @@ if (defined(ohos_lite)) {
"//third_party/mbedtls:mbedtls",
]
include_dirs += [ "$root_out_dir/gen/init_lite" ]
defines += [ "PARAM_LOAD_CFG_FROM_CODE" ]
}
if (ohos_kernel_type == "linux") {
defines += [ "__LINUX__" ]
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册