summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorliuxueli <[email protected]>2020-10-15 14:16:55 +0800
committerliuxueli <[email protected]>2020-10-15 14:16:55 +0800
commit899ae69a4b3a33e4e295b28966ea7e570d087cf2 (patch)
tree221773bc8b3f2b8b60fed6f157215145f61b06a8
parent78b2c7e3edb76e6fadde3d00f8913a99484ca546 (diff)
扫描拦截排除功能导致内存泄漏;dictator_malloc函数使用参数不正确v3.3.2
-rw-r--r--src/tsg_entry.cpp10
-rw-r--r--src/tsg_rule.cpp6
2 files changed, 14 insertions, 2 deletions
diff --git a/src/tsg_entry.cpp b/src/tsg_entry.cpp
index 63e3bfb..0a3c1e0 100644
--- a/src/tsg_entry.cpp
+++ b/src/tsg_entry.cpp
@@ -441,6 +441,12 @@ static struct Maat_rule_t *tsg_policy_decision_criteria(struct streaminfo *a_str
&mid,
thread_seq);
+ if(mid!=NULL)
+ {
+ Maat_clean_status(&mid);
+ mid=NULL;
+ }
+
if(ret>0)
{
MESA_handle_runtime_log(g_tsg_para.logger,
@@ -667,7 +673,7 @@ extern "C" char TSG_MASTER_TCP_ENTRY(struct streaminfo *a_tcp, void **pme, int t
case OP_STATE_PENDING:
FS_operate(g_tsg_para.fs2_handle, g_tsg_para.fs2_field_id[TSG_FS2_TCP_LINKS], 0, FS_OP_ADD, 1);
- internal_label=(struct _session_attribute_label_t *)dictator_malloc(1, sizeof(struct _session_attribute_label_t));
+ internal_label=(struct _session_attribute_label_t *)dictator_malloc(thread_seq, sizeof(struct _session_attribute_label_t));
memset(internal_label, 0, sizeof(struct _session_attribute_label_t));
memset(&identify_info, 0, sizeof(identify_info));
@@ -927,7 +933,7 @@ extern "C" char TSG_MASTER_UDP_ENTRY(struct streaminfo *a_udp, void **pme, int t
memset(&identify_info, 0, sizeof(identify_info));
identify_application_protocol(a_udp, &identify_info, NULL, a_packet);
- internal_label=(struct _session_attribute_label_t *)dictator_malloc(1, sizeof(struct _session_attribute_label_t));
+ internal_label=(struct _session_attribute_label_t *)dictator_malloc(thread_seq, sizeof(struct _session_attribute_label_t));
memset(internal_label, 0, sizeof(struct _session_attribute_label_t));
internal_label->proto=identify_info.proto;
diff --git a/src/tsg_rule.cpp b/src/tsg_rule.cpp
index 3acaa63..5362761 100644
--- a/src/tsg_rule.cpp
+++ b/src/tsg_rule.cpp
@@ -147,11 +147,17 @@ static int get_data_center(char *accept_tag, char *data_center, int data_center_
len=strlen(v_item->valuestring);
memcpy(data_center, v_item->valuestring, (len>data_center_len-1 ? data_center_len-1 : len));
}
+
+ cJSON_Delete(object);
+ object=NULL;
return 1;
}
}
}
}
+
+ cJSON_Delete(object);
+ object=NULL;
}
return 0;