diff options
| author | liuxueli <[email protected]> | 2023-01-04 16:51:23 +0800 |
|---|---|---|
| committer | liuxueli <[email protected]> | 2023-01-04 16:51:23 +0800 |
| commit | 30b2f1cda99c767a964e1dc5c71b99682c8681ef (patch) | |
| tree | 6898e4a57eb9e630b80d32e5db72433a282a266f | |
| parent | e0f6856189adc2f803380292462ea5311d87d42c (diff) | |
TSG-13243,TSG-13252: 从用户自定义的所有结果中选第一个被识别的APP拼接到app_full_path字段; 将用户自定义的所有结果拼接到app_full_path中存在写越界导致应用重启v5.9.2
| -rw-r--r-- | src/tsg_rule.cpp | 5 | ||||
| -rw-r--r-- | src/tsg_send_log.cpp | 4 |
2 files changed, 7 insertions, 2 deletions
diff --git a/src/tsg_rule.cpp b/src/tsg_rule.cpp index 2e380f7..80d4f15 100644 --- a/src/tsg_rule.cpp +++ b/src/tsg_rule.cpp @@ -3250,6 +3250,11 @@ int tsg_app_id2name(int app_id, char *app_name, int app_name_len, int is_joint_p dict=(struct app_id_dict *)Maat_plugin_get_EX_data(g_tsg_maat_feather, g_tsg_para.table_id[TABLE_APP_ID_DICT], (const char *)app_id_buff); if(dict!=NULL) { + if((int)strlen(dict->app_name) > app_name_len) + { + return offset; + } + if(dict->parent_app_id!=0 && is_joint_parent==1) { offset=snprintf(app_name, app_name_len, "%s.%s", dict->parent_app_name, dict->app_name); diff --git a/src/tsg_send_log.cpp b/src/tsg_send_log.cpp index 45c204a..4f1be74 100644 --- a/src/tsg_send_log.cpp +++ b/src/tsg_send_log.cpp @@ -832,11 +832,11 @@ int set_app_full_path(struct TLD_handle_t *_handle, char *field_name, struct gat if(result[ORIGIN_USER_DEFINE].app_num>0) { - combined_num+=copy_app_id(result[ORIGIN_USER_DEFINE].attributes, result[ORIGIN_USER_DEFINE].app_num, combined_array+combined_num, COMBINED_APP_ID_NUM-combined_num); + combined_num+=copy_app_id(result[ORIGIN_USER_DEFINE].attributes, 1, combined_array+combined_num, COMBINED_APP_ID_NUM-combined_num); } else if(result[ORIGIN_BUILT_IN].app_num>0) { - combined_num+=copy_app_id(result[ORIGIN_BUILT_IN].attributes, result[ORIGIN_BUILT_IN].app_num, combined_array+combined_num, COMBINED_APP_ID_NUM-combined_num); + combined_num+=copy_app_id(result[ORIGIN_BUILT_IN].attributes, 1, combined_array+combined_num, COMBINED_APP_ID_NUM-combined_num); } else if(result[ORIGIN_QM_ENGINE].app_num-result[ORIGIN_QM_ENGINE_L7].app_num > 0) { |
