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

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

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