summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsongyanchao <[email protected]>2023-03-13 06:09:17 +0000
committersongyanchao <[email protected]>2023-03-13 06:09:17 +0000
commit383d745322d6a421e8788e64a15ddae922827973 (patch)
tree4c9eddcdd681cc2acd4ac0b5ba8ec4872d3089b5
parentc4228893a32589968bd87e2f075c96c257f97bfe (diff)
🐞 fix(TSG-14182): 修复日志字符串访问越界问题v4.6.17-20230313
修复日志字符串访问越界问题
-rw-r--r--service/src/node_classifier.c4
-rw-r--r--service/src/node_lb.c2
-rw-r--r--service/src/vdev.c2
3 files changed, 4 insertions, 4 deletions
diff --git a/service/src/node_classifier.c b/service/src/node_classifier.c
index 4001f73..23a152d 100644
--- a/service/src/node_classifier.c
+++ b/service/src/node_classifier.c
@@ -890,7 +890,7 @@ int get_category(uint32_t category_mask)
void dump_classifier_rule_v4(struct classifier_rule_v4 * rule, struct mr_action * action)
{
char str_option[256] = {};
- char str_rule_info[256] = {};
+ char str_rule_info[4096] = {};
struct in_addr src_addr, dst_addr;
src_addr.s_addr = htonl(rule->field[CLASSIFIER_IPV4_FIELD_SRC_IP].value.u32);
dst_addr.s_addr = htonl(rule->field[CLASSIFIER_IPV4_FIELD_DST_IP].value.u32);
@@ -940,7 +940,7 @@ void dump_classifier_rule_v4(struct classifier_rule_v4 * rule, struct mr_action
void dump_classifier_rule_v6(struct classifier_rule_v6 * rule, struct mr_action * action)
{
char str_option[256] = {};
- char str_rule_info[256] = {};
+ char str_rule_info[4096] = {};
sprintf(str_rule_info, "IPv6 rule id: %-10u", action->rule_id);
sprintf(str_option, ", item index: %-5u", rule->data.userdata);
diff --git a/service/src/node_lb.c b/service/src/node_lb.c
index b48487b..c94e80c 100644
--- a/service/src/node_lb.c
+++ b/service/src/node_lb.c
@@ -398,7 +398,7 @@ void dump_lb_config(struct lb_management * lb_manage)
{
struct lb_group * lb_groups = &lb_manage->lb_groups[i];
char str_option[256] = {};
- char str_config_info[256] = {};
+ char str_config_info[4096] = {};
if (lb_groups->group_status != GROUP_STATUS_IN_USE)
continue;
diff --git a/service/src/vdev.c b/service/src/vdev.c
index 074845d..fed4e4d 100644
--- a/service/src/vdev.c
+++ b/service/src/vdev.c
@@ -215,7 +215,7 @@ int vdev_dump(struct sc_main * sc)
for (int i = 0; i < sc->vdev_main->vdev_max_idx; i++)
{
char str_option[256] = {};
- char str_vdev_info[256] = {};
+ char str_vdev_info[4096] = {};
struct _vdev * _vdev_iter = sc->vdev_main->_vdev_array[i];
sprintf(str_vdev_info, "Virtual Device: %-20s", _vdev_iter->vdev.symbol);