forked from osmocom/wireshark
more gmemchunk -> se_alloc() improvements
svn path=/trunk/; revision=15312
This commit is contained in:
parent
e9e87bb4a6
commit
234f09c663
|
@ -63,6 +63,7 @@
|
|||
#include <epan/conversation.h>
|
||||
|
||||
#include <epan/prefs.h>
|
||||
#include <epan/emem.h>
|
||||
|
||||
|
||||
/* Version is the first 2 bits of the first octet*/
|
||||
|
@ -354,9 +355,6 @@ static void add_roundtrip_delay_info(tvbuff_t *tvb, packet_info *pinfo,
|
|||
proto_tree *tree, guint frame, guint delay);
|
||||
|
||||
|
||||
/* Memory chunk for storing conversation and per-packet info */
|
||||
static GMemChunk *rtcp_conversations = NULL;
|
||||
|
||||
/* Set up an RTCP conversation using the info given */
|
||||
void rtcp_add_address( packet_info *pinfo,
|
||||
address *addr, int port,
|
||||
|
@ -408,7 +406,7 @@ void rtcp_add_address( packet_info *pinfo,
|
|||
*/
|
||||
if ( ! p_conv_data ) {
|
||||
/* Create conversation data */
|
||||
p_conv_data = g_mem_chunk_alloc(rtcp_conversations);
|
||||
p_conv_data = se_alloc(sizeof(struct _rtcp_conversation_info));
|
||||
if (!p_conv_data)
|
||||
{
|
||||
return;
|
||||
|
@ -426,19 +424,6 @@ void rtcp_add_address( packet_info *pinfo,
|
|||
p_conv_data->setup_frame_number = setup_frame_number;
|
||||
}
|
||||
|
||||
static void rtcp_init( void )
|
||||
{
|
||||
/* (Re)allocate mem chunk for conversations */
|
||||
if (rtcp_conversations)
|
||||
{
|
||||
g_mem_chunk_destroy(rtcp_conversations);
|
||||
}
|
||||
rtcp_conversations = g_mem_chunk_new("rtcp_conversations",
|
||||
sizeof(struct _rtcp_conversation_info),
|
||||
20 * sizeof(struct _rtcp_conversation_info),
|
||||
G_ALLOC_ONLY);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
dissect_rtcp_heur( tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree )
|
||||
{
|
||||
|
@ -1363,7 +1348,7 @@ void show_setup_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
|||
if (p_conv_data)
|
||||
{
|
||||
/* Save this conversation info into packet info */
|
||||
p_conv_packet_data = g_mem_chunk_alloc(rtcp_conversations);
|
||||
p_conv_packet_data = se_alloc(sizeof(struct _rtcp_conversation_info));
|
||||
if (!p_conv_packet_data)
|
||||
{
|
||||
return;
|
||||
|
@ -1457,7 +1442,7 @@ static void remember_outgoing_sr(packet_info *pinfo, long lsr)
|
|||
if (!p_conv_data)
|
||||
{
|
||||
/* Allocate memory for data */
|
||||
p_conv_data = g_mem_chunk_alloc(rtcp_conversations);
|
||||
p_conv_data = se_alloc(sizeof(struct _rtcp_conversation_info));
|
||||
if (!p_conv_data)
|
||||
{
|
||||
/* Give up if couldn't allocate space for memory */
|
||||
|
@ -1484,7 +1469,7 @@ static void remember_outgoing_sr(packet_info *pinfo, long lsr)
|
|||
/* Will use/create packet info */
|
||||
if (!p_packet_data)
|
||||
{
|
||||
p_packet_data = g_mem_chunk_alloc(rtcp_conversations);
|
||||
p_packet_data = se_alloc(sizeof(struct _rtcp_conversation_info));
|
||||
if (!p_packet_data)
|
||||
{
|
||||
/* Give up if allocation fails */
|
||||
|
@ -1560,7 +1545,7 @@ static void calculate_roundtrip_delay(tvbuff_t *tvb, packet_info *pinfo,
|
|||
if (!p_packet_data)
|
||||
{
|
||||
/* Create packet info if it doesn't exist */
|
||||
p_packet_data = g_mem_chunk_alloc(rtcp_conversations);
|
||||
p_packet_data = se_alloc(sizeof(struct _rtcp_conversation_info));
|
||||
if (!p_packet_data)
|
||||
{
|
||||
/* Give up if allocation fails */
|
||||
|
@ -2994,7 +2979,6 @@ proto_register_rtcp(void)
|
|||
MIN_ROUNDTRIP_TO_REPORT_DEFAULT, &global_rtcp_show_roundtrip_calculation_minimum);
|
||||
|
||||
|
||||
register_init_routine( &rtcp_init );
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -67,6 +67,7 @@
|
|||
#include <epan/tap.h>
|
||||
|
||||
#include <epan/prefs.h>
|
||||
#include <epan/emem.h>
|
||||
|
||||
static dissector_handle_t rtp_handle;
|
||||
static dissector_handle_t stun_handle;
|
||||
|
@ -134,9 +135,6 @@ static gboolean global_rtp_show_setup_info = TRUE;
|
|||
/* Try heuristic RTP decode */
|
||||
static gboolean global_rtp_heur = FALSE;
|
||||
|
||||
/* Memory chunk for storing conversation and per-packet info */
|
||||
static GMemChunk *rtp_conversations = NULL;
|
||||
|
||||
/*
|
||||
* Fields in the first octet of the RTP header.
|
||||
*/
|
||||
|
@ -303,7 +301,7 @@ void rtp_add_address(packet_info *pinfo,
|
|||
*/
|
||||
if ( ! p_conv_data ) {
|
||||
/* Create conversation data */
|
||||
p_conv_data = g_mem_chunk_alloc(rtp_conversations);
|
||||
p_conv_data = se_alloc(sizeof(struct _rtp_conversation_info));
|
||||
p_conv_data->rtp_dyn_payload = NULL;
|
||||
|
||||
conversation_add_proto_data(p_conv, proto_rtp, p_conv_data);
|
||||
|
@ -321,19 +319,6 @@ void rtp_add_address(packet_info *pinfo,
|
|||
p_conv_data->rtp_dyn_payload = rtp_dyn_payload;
|
||||
}
|
||||
|
||||
static void rtp_init( void )
|
||||
{
|
||||
/* (Re)allocate mem chunk for conversations */
|
||||
if (rtp_conversations)
|
||||
{
|
||||
g_mem_chunk_destroy(rtp_conversations);
|
||||
}
|
||||
rtp_conversations = g_mem_chunk_new("rtp_conversations",
|
||||
sizeof(struct _rtp_conversation_info),
|
||||
20 * sizeof(struct _rtp_conversation_info),
|
||||
G_ALLOC_ONLY);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
dissect_rtp_heur( tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree )
|
||||
{
|
||||
|
@ -777,7 +762,7 @@ static void get_conv_info(packet_info *pinfo, struct _rtp_info *rtp_info)
|
|||
|
||||
if (p_conv_data) {
|
||||
/* Save this conversation info into packet info */
|
||||
p_conv_packet_data = g_mem_chunk_alloc(rtp_conversations);
|
||||
p_conv_packet_data = se_alloc(sizeof(struct _rtp_conversation_info));
|
||||
strcpy(p_conv_packet_data->method, p_conv_data->method);
|
||||
p_conv_packet_data->frame_number = p_conv_data->frame_number;
|
||||
p_conv_packet_data->rtp_dyn_payload = p_conv_data->rtp_dyn_payload;
|
||||
|
@ -1104,7 +1089,6 @@ proto_register_rtp(void)
|
|||
"If an RTP version 0 packet is encountered, it can be treated as an invalid packet or a STUN packet",
|
||||
&global_rtp_version0_type,
|
||||
rtp_version0_types, FALSE);
|
||||
register_init_routine( &rtp_init );
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -46,6 +46,7 @@
|
|||
#include <epan/conversation.h>
|
||||
#include <epan/strutil.h>
|
||||
#include "packet-e164.h"
|
||||
#include <epan/emem.h>
|
||||
|
||||
static int proto_rtsp = -1;
|
||||
|
||||
|
@ -71,9 +72,6 @@ static dissector_handle_t rdt_handle;
|
|||
|
||||
void proto_reg_handoff_rtsp(void);
|
||||
|
||||
static GMemChunk *rtsp_vals = NULL;
|
||||
#define rtsp_hash_init_count 20
|
||||
|
||||
/*
|
||||
* desegmentation of RTSP headers
|
||||
* (when we are over TCP or another protocol providing the desegmentation API)
|
||||
|
@ -447,7 +445,7 @@ rtsp_create_conversation(packet_info *pinfo, const guchar *line_begin,
|
|||
}
|
||||
data = conversation_get_proto_data(conv, proto_rtsp);
|
||||
if (!data) {
|
||||
data = g_mem_chunk_alloc(rtsp_vals);
|
||||
data = se_alloc(sizeof(rtsp_conversation_data_t));
|
||||
conversation_add_proto_data(conv, proto_rtsp, data);
|
||||
}
|
||||
|
||||
|
@ -1200,21 +1198,6 @@ dissect_rtsp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
|||
}
|
||||
}
|
||||
|
||||
static void
|
||||
rtsp_init(void)
|
||||
{
|
||||
/* Routine to initialize rtsp protocol before each capture or filter pass. */
|
||||
/* Release any memory if needed. Then setup the memory chunks. */
|
||||
|
||||
if (rtsp_vals)
|
||||
g_mem_chunk_destroy(rtsp_vals);
|
||||
|
||||
rtsp_vals = g_mem_chunk_new("rtsp_vals",
|
||||
sizeof(rtsp_conversation_data_t),
|
||||
rtsp_hash_init_count * sizeof(rtsp_conversation_data_t),
|
||||
G_ALLOC_AND_FREE);
|
||||
}
|
||||
|
||||
void
|
||||
proto_register_rtsp(void)
|
||||
{
|
||||
|
@ -1289,7 +1272,6 @@ proto_register_rtsp(void)
|
|||
"of a request spanning multiple TCP segments",
|
||||
&rtsp_desegment_body);
|
||||
|
||||
register_init_routine(rtsp_init); /* register re-init routine */
|
||||
}
|
||||
|
||||
void
|
||||
|
|
Loading…
Reference in New Issue