代码拉取完成,页面将自动刷新
同步操作将从 src-openEuler/gazelle 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
From 43985056c5446c0ad45acb2309165543bd8e15e1 Mon Sep 17 00:00:00 2001
From: yinbin <yinbin8@huawei.com>
Date: Fri, 22 Dec 2023 15:42:40 +0800
Subject: [PATCH] CFG:fix check func strdup return value is NULL
---
src/lstack/core/lstack_cfg.c | 31 ++++++++++++++++++++-----------
1 file changed, 20 insertions(+), 11 deletions(-)
diff --git a/src/lstack/core/lstack_cfg.c b/src/lstack/core/lstack_cfg.c
index 6324c97..6e97c96 100644
--- a/src/lstack/core/lstack_cfg.c
+++ b/src/lstack/core/lstack_cfg.c
@@ -145,6 +145,15 @@ static struct config_vector_t g_config_tbl[] = {
{ NULL, NULL }
};
+static char* strdup_assert_return(const char* str)
+{
+ char* result = strdup(str);
+ if (result == NULL) {
+ LSTACK_EXIT(1, "strdup_assert_return failed, func strdup return NULL!\n");
+ }
+ return result;
+}
+
struct cfg_params *get_global_cfg_params(void)
{
return &g_config_params;
@@ -336,15 +345,15 @@ static int32_t parse_stack_cpu_number(void)
if (!have_corelist_arg(g_config_params.dpdk_argc, g_config_params.dpdk_argv)) {
int32_t idx = get_param_idx(g_config_params.dpdk_argc, g_config_params.dpdk_argv, OPT_BIND_CORELIST);
if (idx < 0) {
- g_config_params.dpdk_argv[g_config_params.dpdk_argc] = strdup(OPT_BIND_CORELIST);
+ g_config_params.dpdk_argv[g_config_params.dpdk_argc] = strdup_assert_return(OPT_BIND_CORELIST);
g_config_params.dpdk_argc++;
- g_config_params.dpdk_argv[g_config_params.dpdk_argc] = strdup(args);
+ g_config_params.dpdk_argv[g_config_params.dpdk_argc] = strdup_assert_return(args);
g_config_params.dpdk_argc++;
}
}
- char *tmp_arg = strdup(args);
+ char *tmp_arg = strdup_assert_return(args);
int32_t cnt = separate_str_to_array(tmp_arg, g_config_params.cpus, CFG_MAX_CPUS, CFG_MAX_CPUS);
free(tmp_arg);
if (cnt <= 0 || cnt > CFG_MAX_CPUS) {
@@ -369,15 +378,15 @@ static int32_t parse_stack_cpu_number(void)
if (!have_corelist_arg(g_config_params.dpdk_argc, g_config_params.dpdk_argv)) {
int32_t idx = get_param_idx(g_config_params.dpdk_argc, g_config_params.dpdk_argv, OPT_BIND_CORELIST);
if (idx < 0) {
- g_config_params.dpdk_argv[g_config_params.dpdk_argc] = strdup(OPT_BIND_CORELIST);
+ g_config_params.dpdk_argv[g_config_params.dpdk_argc] = strdup_assert_return(OPT_BIND_CORELIST);
g_config_params.dpdk_argc++;
- g_config_params.dpdk_argv[g_config_params.dpdk_argc] = strdup(args);
+ g_config_params.dpdk_argv[g_config_params.dpdk_argc] = strdup_assert_return(args);
g_config_params.dpdk_argc++;
}
}
- char *tmp_arg_send = strdup(args);
+ char *tmp_arg_send = strdup_assert_return(args);
int32_t send_cpu_cnt = separate_str_to_array(tmp_arg_send, g_config_params.send_cpus,
CFG_MAX_CPUS, CFG_MAX_CPUS);
free(tmp_arg_send);
@@ -396,15 +405,15 @@ static int32_t parse_stack_cpu_number(void)
if (!have_corelist_arg(g_config_params.dpdk_argc, g_config_params.dpdk_argv)) {
int32_t idx = get_param_idx(g_config_params.dpdk_argc, g_config_params.dpdk_argv, OPT_BIND_CORELIST);
if (idx < 0) {
- g_config_params.dpdk_argv[g_config_params.dpdk_argc] = strdup(OPT_BIND_CORELIST);
+ g_config_params.dpdk_argv[g_config_params.dpdk_argc] = strdup_assert_return(OPT_BIND_CORELIST);
g_config_params.dpdk_argc++;
- g_config_params.dpdk_argv[g_config_params.dpdk_argc] = strdup(args);
+ g_config_params.dpdk_argv[g_config_params.dpdk_argc] = strdup_assert_return(args);
g_config_params.dpdk_argc++;
}
}
- char *tmp_arg_recv = strdup(args);
+ char *tmp_arg_recv = strdup_assert_return(args);
int32_t recv_cpu_cnt = separate_str_to_array(tmp_arg_recv, g_config_params.recv_cpus,
CFG_MAX_CPUS, CFG_MAX_CPUS);
free(tmp_arg_recv);
@@ -450,7 +459,7 @@ static int32_t parse_app_exclude_cpus(void)
return -EINVAL;
}
- tmp_arg = strdup(args);
+ tmp_arg = strdup_assert_return(args);
cnt = separate_str_to_array(tmp_arg, g_config_params.app_exclude_cpus, CFG_MAX_CPUS, CFG_MAX_CPUS);
free(tmp_arg);
if (cnt <= 0 || cnt > CFG_MAX_CPUS) {
@@ -1176,7 +1185,7 @@ static int32_t parse_bond_slave_mac(void)
}
int32_t k = 0;
- char *bond_slave_mac_tmp = strdup(bond_slave_mac);
+ char *bond_slave_mac_tmp = strdup_assert_return(bond_slave_mac);
char *tmp = NULL;
const char *delim = ";";
--
2.27.0
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。