summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorliuxueli <[email protected]>2023-07-25 18:35:42 +0800
committerliuxueli <[email protected]>2023-07-25 18:51:32 +0800
commit7093f2a756f195ab3ebafd6b356078ec3326ad58 (patch)
treeebe4137ae36ac65e86b8e272dff1262be1c4e7a1
parent4389d188f364a14b720fbb58aef96cb5e92ad584 (diff)
application metrics更新包数时存在内存越界
-rw-r--r--inc/tsg_statistic.h22
-rw-r--r--src/tsg_bridge.cpp16
2 files changed, 19 insertions, 19 deletions
diff --git a/inc/tsg_statistic.h b/inc/tsg_statistic.h
index d8a86b6..976f7ce 100644
--- a/inc/tsg_statistic.h
+++ b/inc/tsg_statistic.h
@@ -22,17 +22,17 @@ struct traffic_info
struct traffic_packet_info
{
- uint32_t sessions;
- uint32_t in_pkts;
- uint32_t out_pkts;
- uint32_t c2s_pkts;
- uint32_t s2c_pkts;
- uint32_t c2s_fragments;
- uint32_t s2c_fragments;
- uint32_t c2s_tcp_ooorder_pkts;
- uint32_t s2c_tcp_ooorder_pkts;
- uint32_t c2s_tcp_retransmitted_pkts;
- uint32_t s2c_tcp_retransmitted_pkts;
+ uint64_t sessions;
+ uint64_t in_pkts;
+ uint64_t out_pkts;
+ uint64_t c2s_pkts;
+ uint64_t s2c_pkts;
+ uint64_t c2s_fragments;
+ uint64_t s2c_fragments;
+ uint64_t c2s_tcp_ooorder_pkts;
+ uint64_t s2c_tcp_ooorder_pkts;
+ uint64_t c2s_tcp_retransmitted_pkts;
+ uint64_t s2c_tcp_retransmitted_pkts;
uint64_t in_bytes;
uint64_t out_bytes;
uint64_t c2s_bytes;
diff --git a/src/tsg_bridge.cpp b/src/tsg_bridge.cpp
index 700793b..42610f2 100644
--- a/src/tsg_bridge.cpp
+++ b/src/tsg_bridge.cpp
@@ -538,22 +538,22 @@ int session_runtime_process_context_async(const struct streaminfo *a_stream, voi
const struct session_runtime_process_context *session_runtime_process_context_new(const struct streaminfo *a_stream)
{
- struct session_runtime_process_context *srt_attribute=(struct session_runtime_process_context *)session_async_bridge_get_data(a_stream, g_tsg_bridge_para[BRIDGE_TYPE_SESSION_PROCESS_CONTEXT].id);
- if(srt_attribute==NULL)
+ struct session_runtime_process_context *srt_process_context=(struct session_runtime_process_context *)session_async_bridge_get_data(a_stream, g_tsg_bridge_para[BRIDGE_TYPE_SESSION_PROCESS_CONTEXT].id);
+ if(srt_process_context==NULL)
{
- srt_attribute=(struct session_runtime_process_context *)dictator_malloc(a_stream->threadnum, sizeof(struct session_runtime_process_context));
- memset(srt_attribute, 0, sizeof(struct session_runtime_process_context));
+ srt_process_context=(struct session_runtime_process_context *)dictator_malloc(a_stream->threadnum, sizeof(struct session_runtime_process_context));
+ memset(srt_process_context, 0, sizeof(struct session_runtime_process_context));
- int ret=session_async_bridge_set_data(a_stream, g_tsg_bridge_para[BRIDGE_TYPE_SESSION_PROCESS_CONTEXT].id, (void *)srt_attribute);
+ int ret=session_async_bridge_set_data(a_stream, g_tsg_bridge_para[BRIDGE_TYPE_SESSION_PROCESS_CONTEXT].id, (void *)srt_process_context);
if(ret<0)
{
- session_runtime_process_context_free_cb(a_stream, g_tsg_bridge_para[BRIDGE_TYPE_SESSION_PROCESS_CONTEXT].id, (void *)srt_attribute);
- srt_attribute=NULL;
+ session_runtime_process_context_free_cb(a_stream, g_tsg_bridge_para[BRIDGE_TYPE_SESSION_PROCESS_CONTEXT].id, (void *)srt_process_context);
+ srt_process_context=NULL;
return NULL;
}
}
- return (const struct session_runtime_process_context *)srt_attribute;
+ return (const struct session_runtime_process_context *)srt_process_context;
}
const struct session_runtime_process_context *session_runtime_process_context_get(const struct streaminfo *a_stream)