diff options
| author | songyanchao <[email protected]> | 2023-03-13 06:09:17 +0000 |
|---|---|---|
| committer | songyanchao <[email protected]> | 2023-03-13 06:09:17 +0000 |
| commit | 383d745322d6a421e8788e64a15ddae922827973 (patch) | |
| tree | 4c9eddcdd681cc2acd4ac0b5ba8ec4872d3089b5 | |
| parent | c4228893a32589968bd87e2f075c96c257f97bfe (diff) | |
🐞 fix(TSG-14182): 修复日志字符串访问越界问题v4.6.17-20230313
修复日志字符串访问越界问题
| -rw-r--r-- | service/src/node_classifier.c | 4 | ||||
| -rw-r--r-- | service/src/node_lb.c | 2 | ||||
| -rw-r--r-- | service/src/vdev.c | 2 |
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); |
