From beroset:

converted implicit casts to explicit casts, moved nested structure definition outside, and changed se_alloc to se_new.

https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8416

svn path=/trunk/; revision=48287
This commit is contained in:
Anders Broman 2013-03-14 06:31:31 +00:00
parent fad318ad44
commit 672a54c156
1 changed files with 37 additions and 36 deletions

View File

@ -511,6 +511,11 @@ struct _sctp_half_assoc_t {
};
typedef struct _retransmit_t {
guint32 framenum;
nstime_t ts;
struct _retransmit_t *next;
} retransmit_t;
typedef struct _sctp_tsn_t {
guint32 tsn;
@ -522,11 +527,7 @@ typedef struct _sctp_tsn_t {
guint32 framenum;
nstime_t ts;
} ack;
struct _retransmit_t {
guint32 framenum;
nstime_t ts;
struct _retransmit_t *next;
} *retransmit;
retransmit_t *retransmit;
guint32 retransmit_count;
struct _sctp_tsn_t *next;
} sctp_tsn_t;
@ -535,15 +536,15 @@ typedef struct _sctp_tsn_t {
static emem_tree_key_t*
make_address_key(guint32 spt, guint32 dpt, address *addr)
{
emem_tree_key_t *k = ep_alloc(sizeof(emem_tree_key_t)*6);
emem_tree_key_t *k = (emem_tree_key_t *)ep_alloc(sizeof(emem_tree_key_t)*6);
k[0].length = 1; k[0].key = ep_memdup(&spt,sizeof(spt));
k[1].length = 1; k[1].key = ep_memdup(&dpt,sizeof(dpt));
k[0].length = 1; k[0].key = (guint32*)ep_memdup(&spt,sizeof(spt));
k[1].length = 1; k[1].key = (guint32*)ep_memdup(&dpt,sizeof(dpt));
k[2].length = 1; k[2].key = (guint32*)(void *)&(addr->type);
k[3].length = 1; k[3].key = (guint32*)(void *)&(addr->len);
k[4].length = ((addr->len/4)+1);
k[4].key = ep_alloc0(((addr->len/4)+1)*4);
k[4].key = (guint32*)ep_alloc0(((addr->len/4)+1)*4);
if (addr->len) memcpy(k[4].key, addr->data, addr->len);
k[5].length = 0; k[5].key = NULL;
@ -554,11 +555,11 @@ make_address_key(guint32 spt, guint32 dpt, address *addr)
static emem_tree_key_t *
make_dir_key(guint32 spt, guint32 dpt, guint32 vtag)
{
emem_tree_key_t *k = ep_alloc(sizeof(emem_tree_key_t)*4);
emem_tree_key_t *k = (emem_tree_key_t *)ep_alloc(sizeof(emem_tree_key_t)*4);
k[0].length = 1; k[0].key = ep_memdup(&spt,sizeof(spt));
k[1].length = 1; k[1].key = ep_memdup(&dpt,sizeof(dpt));
k[2].length = 1; k[2].key = ep_memdup(&vtag,sizeof(vtag));
k[0].length = 1; k[0].key = (guint32*)ep_memdup(&spt,sizeof(spt));
k[1].length = 1; k[1].key = (guint32*)ep_memdup(&dpt,sizeof(dpt));
k[2].length = 1; k[2].key = (guint32*)ep_memdup(&vtag,sizeof(vtag));
k[3].length = 0; k[3].key = NULL;
return k;
@ -581,12 +582,12 @@ get_half_assoc(packet_info *pinfo, guint32 spt, guint32 dpt, guint32 vtag)
/* look for the current half_assoc by spt, dpt and vtag */
k = make_dir_key(spt, dpt, vtag);
if (( ha = emem_tree_lookup32_array(dirs_by_ptvtag, k) )) {
if (( ha = (sctp_half_assoc_t *)emem_tree_lookup32_array(dirs_by_ptvtag, k) )) {
/* found, if it has been already matched we're done */
if (ha->peer) return ha;
} else {
/* not found, make a new one and add it to the table */
ha = se_alloc0(sizeof(sctp_half_assoc_t));
ha = se_new0(sctp_half_assoc_t);
ha->spt = spt;
ha->dpt = dpt;
ha->vtag = vtag;
@ -603,7 +604,7 @@ get_half_assoc(packet_info *pinfo, guint32 spt, guint32 dpt, guint32 vtag)
/* at this point we have an unmatched half, look for its other half using the ports and IP address */
k = make_address_key(dpt, spt, &(pinfo->dst));
if (( hb = emem_tree_lookup32_array(dirs_by_ptaddr, k) )) {
if (( hb = (sctp_half_assoc_t **)emem_tree_lookup32_array(dirs_by_ptaddr, k) )) {
/*the table contains a pointer to a pointer to a half */
if (! *hb) {
/* if there is no half pointed by this, add the current half to the table */
@ -616,7 +617,7 @@ get_half_assoc(packet_info *pinfo, guint32 spt, guint32 dpt, guint32 vtag)
}
} else {
/* we found no entry in the table: add one (using reversed ports and src addresss) so that it can be matched later */
*(hb = se_alloc(sizeof(void*))) = ha;
*(hb = (sctp_half_assoc_t **)se_alloc(sizeof(void*))) = ha;
k = make_address_key(spt, dpt, &(pinfo->src));
emem_tree_insert32_array(dirs_by_ptaddr, k, hb);
}
@ -661,7 +662,7 @@ tsn_tree(sctp_tsn_t *t, proto_item *tsn_item, packet_info *pinfo,
"This TSN was acked prior to this retransmission (reneged ack?).");
}
} else if (t->retransmit) {
struct _retransmit_t **r;
retransmit_t **r;
nstime_t rto;
char ds[64];
@ -758,9 +759,9 @@ sctp_tsn(packet_info *pinfo, tvbuff_t *tvb, proto_item *tsn_item,
/* printf("%.3d REL TSN: %p->%p [%u] %u \n",framenum,h,h->peer,tsn,reltsn); */
/* look for this tsn in this half's tsn table */
if (! (t = emem_tree_lookup32(h->tsns,reltsn) )) {
if (! (t = (sctp_tsn_t *)emem_tree_lookup32(h->tsns,reltsn) )) {
/* no tsn found, create a new one */
t = se_alloc0(sizeof(sctp_tsn_t));
t = se_new0(sctp_tsn_t);
t->tsn = tsn;
t->first_transmit.framenum = framenum;
@ -772,7 +773,7 @@ sctp_tsn(packet_info *pinfo, tvbuff_t *tvb, proto_item *tsn_item,
is_retransmission = (t->first_transmit.framenum != framenum);
if ( (! pinfo->fd->flags.visited ) && is_retransmission ) {
struct _retransmit_t **r;
retransmit_t **r;
int i;
t->retransmit_count++;
@ -791,7 +792,7 @@ sctp_tsn(packet_info *pinfo, tvbuff_t *tvb, proto_item *tsn_item,
* more than 1 or 2 retransmissions of a TSN?
* For now, go with simplicity (of code here).
*/
*r = se_alloc0(sizeof(struct _retransmit_t));
*r = se_new0(retransmit_t);
(*r)->framenum = framenum;
(*r)->ts = pinfo->fd->abs_ts;
}
@ -842,7 +843,7 @@ sctp_ack(packet_info *pinfo, tvbuff_t *tvb, proto_tree *acks_tree,
/* printf("%.6d ACK: %p->%p [%u] \n",framenum,h,h->peer,reltsn); */
t = se_tree_lookup32(h->peer->tsns,reltsn);
t = (sctp_tsn_t *)se_tree_lookup32(h->peer->tsns,reltsn);
if (t) {
if (! t->ack.framenum) {
@ -851,7 +852,7 @@ sctp_ack(packet_info *pinfo, tvbuff_t *tvb, proto_tree *acks_tree,
t->ack.framenum = framenum;
t->ack.ts = pinfo->fd->abs_ts;
if (( t2 = emem_tree_lookup32(h->peer->tsn_acks, framenum) )) {
if (( t2 = (sctp_tsn_t *)emem_tree_lookup32(h->peer->tsn_acks, framenum) )) {
for(;t2->next;t2 = t2->next)
;
@ -896,7 +897,7 @@ sctp_ack_block(packet_info *pinfo, sctp_half_assoc_t *h, tvbuff_t *tvb,
}
if ((t = emem_tree_lookup32(h->peer->tsn_acks, framenum))) {
if ((t = (sctp_tsn_t *)emem_tree_lookup32(h->peer->tsn_acks, framenum))) {
for(;t;t = t->next) {
guint32 tsn = t->tsn;
@ -2186,8 +2187,8 @@ frag_free_msgs(sctp_frag_msg *msg)
static gboolean
free_table_entry(gpointer key, gpointer value, gpointer user_data _U_)
{
sctp_frag_msg *msg = value;
frag_key *fkey = key;
sctp_frag_msg *msg = (sctp_frag_msg *)value;
frag_key *fkey = (frag_key *)key;
frag_free_msgs(msg);
g_free(fkey);
@ -2219,7 +2220,7 @@ find_message(guint16 stream_id, guint16 stream_seq_num)
key.stream_id = stream_id;
key.stream_seq_num = stream_seq_num;
return g_hash_table_lookup(frag_table, &key);
return (sctp_frag_msg *)g_hash_table_lookup(frag_table, &key);
}
@ -2257,14 +2258,14 @@ add_fragment(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint32 tsn,
msg = find_message(stream_id, stream_seq_num);
if (!msg) {
msg = g_malloc (sizeof (sctp_frag_msg));
msg = (sctp_frag_msg *)g_malloc (sizeof (sctp_frag_msg));
msg->begins = NULL;
msg->ends = NULL;
msg->fragments = NULL;
msg->messages = NULL;
msg->next = NULL;
key = g_malloc(sizeof (frag_key));
key = (frag_key *)g_malloc(sizeof (frag_key));
key->sport = sctp_info.sport;
key->dport = sctp_info.dport;
key->verification_tag = sctp_info.verification_tag;
@ -2304,12 +2305,12 @@ add_fragment(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint32 tsn,
return NULL;
/* create new fragment */
fragment = g_malloc (sizeof (sctp_fragment));
fragment = (sctp_fragment *)g_malloc (sizeof (sctp_fragment));
fragment->frame_num = pinfo->fd->num;
fragment->tsn = tsn;
fragment->len = tvb_length(tvb);
fragment->next = NULL;
fragment->data = g_malloc (fragment->len);
fragment->data = (unsigned char *)g_malloc (fragment->len);
tvb_memcpy(tvb, fragment->data, 0, fragment->len);
/* add new fragment to linked list. sort ascending by tsn */
@ -2333,7 +2334,7 @@ add_fragment(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint32 tsn,
/* save begin or end if necessary */
if (b_bit && !e_bit) {
beginend = g_malloc (sizeof (sctp_frag_be));
beginend = (sctp_frag_be *)g_malloc (sizeof (sctp_frag_be));
beginend->fragment = fragment;
beginend->next = NULL;
@ -2358,7 +2359,7 @@ add_fragment(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint32 tsn,
}
if (!b_bit && e_bit) {
beginend = g_malloc (sizeof (sctp_frag_be));
beginend = (sctp_frag_be *)g_malloc (sizeof (sctp_frag_be));
beginend->fragment = fragment;
beginend->next = NULL;
@ -2572,12 +2573,12 @@ fragment_reassembly(tvbuff_t *tvb, sctp_fragment* fragment,
*/
len += frag_i->len;
message = se_alloc (sizeof (sctp_complete_msg));
message = se_new(sctp_complete_msg);
message->begin = begin->fragment->tsn;
message->end = end->fragment->tsn;
message->reassembled_in = fragment;
message->len = len;
message->data = se_alloc(len);
message->data = (unsigned char *)se_alloc(len);
message->next = NULL;
/* now copy all fragments */