diff options
Diffstat (limited to 'epan')
-rw-r--r-- | epan/dissectors/packet-mq.c | 33 | ||||
-rw-r--r-- | epan/dissectors/packet-sdp.c | 19 | ||||
-rw-r--r-- | epan/dissectors/packet-slsk.c | 9 | ||||
-rw-r--r-- | epan/dissectors/packet-tacacs.c | 12 | ||||
-rw-r--r-- | epan/dissectors/packet-ucp.c | 6 | ||||
-rw-r--r-- | epan/dissectors/packet-uma.c | 6 |
6 files changed, 28 insertions, 57 deletions
diff --git a/epan/dissectors/packet-mq.c b/epan/dissectors/packet-mq.c index 52f69d1a39..ec9e7ff7c7 100644 --- a/epan/dissectors/packet-mq.c +++ b/epan/dissectors/packet-mq.c @@ -1062,12 +1062,11 @@ dissect_mq_gmo(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gboolean bLi if (check_col(pinfo->cinfo, COL_INFO)) { guint8* sQueue; - sQueue = tvb_get_string(tvb, offset + 24, 48); + sQueue = ep_tvb_get_string(tvb, offset + 24, 48); if (strip_trailing_blanks(sQueue, 48) != 0) { col_append_fstr(pinfo->cinfo, COL_INFO, " Q=%s", sQueue); } - g_free(sQueue); } if (tree) @@ -1139,12 +1138,11 @@ dissect_mq_pmo(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gboolean bLi if (check_col(pinfo->cinfo, COL_INFO)) { guint8* sQueue; - sQueue = tvb_get_string(tvb, offset + 32, 48); + sQueue = ep_tvb_get_string(tvb, offset + 32, 48); if (strip_trailing_blanks(sQueue, 48) != 0) { col_append_fstr(pinfo->cinfo, COL_INFO, " Q=%s", sQueue); } - g_free(sQueue); } if (tree) @@ -1436,18 +1434,16 @@ dissect_mq_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { guint8* sApplicationName; guint8* sQueueManager; - sApplicationName = tvb_get_string(tvb, offset + 48, 28); + sApplicationName = ep_tvb_get_string(tvb, offset + 48, 28); if (strip_trailing_blanks(sApplicationName, 28) != 0) { col_append_fstr(pinfo->cinfo, COL_INFO, ": App=%s", sApplicationName); } - g_free(sApplicationName); - sQueueManager = tvb_get_string(tvb, offset, 48); + sQueueManager = ep_tvb_get_string(tvb, offset, 48); if (strip_trailing_blanks(sQueueManager, 48) != 0) { col_append_fstr(pinfo->cinfo, COL_INFO, " QM=%s", sQueueManager); } - g_free(sQueueManager); } @@ -1563,9 +1559,8 @@ dissect_mq_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) if (tree) { guint8* sStructId; - sStructId = tvb_get_string(tvb, offset, 4); + sStructId = ep_tvb_get_string(tvb, offset, 4); ti = proto_tree_add_text(mqroot_tree, tvb, offset, 12, (const char*)sStructId); - g_free(sStructId); mq_tree = proto_item_add_subtree(ti, ett_mq_spi_base); proto_tree_add_item(mq_tree, hf_mq_spi_base_structid, tvb, offset, 4, FALSE); @@ -1606,9 +1601,8 @@ dissect_mq_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { /* Dissect the common part of these structures */ guint8* sStructId; - sStructId = tvb_get_string(tvb, offset, 4); + sStructId = ep_tvb_get_string(tvb, offset, 4); ti = proto_tree_add_text(mqroot_tree, tvb, offset, -1, "%s", (const char*)sStructId); - g_free(sStructId); mq_tree = proto_item_add_subtree(ti, ett_mq_spi_base); proto_tree_add_item(mq_tree, hf_mq_spi_base_structid, tvb, offset, 4, FALSE); @@ -1789,12 +1783,11 @@ dissect_mq_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) if (check_col(pinfo->cinfo, COL_INFO)) { guint8* sChannel; - sChannel = tvb_get_string(tvb, offset + 24, 20); + sChannel = ep_tvb_get_string(tvb, offset + 24, 20); if (strip_trailing_blanks(sChannel, 20) != 0) { col_append_fstr(pinfo->cinfo, COL_INFO, ": CHL=%s", sChannel); } - g_free(sChannel); } if (tree) @@ -1856,12 +1849,11 @@ dissect_mq_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) if (check_col(pinfo->cinfo, COL_INFO)) { guint8* sQueueManager; - sQueueManager = tvb_get_string(tvb, offset + 48, 48); + sQueueManager = ep_tvb_get_string(tvb, offset + 48, 48); if (strip_trailing_blanks(sQueueManager,48) != 0) { col_append_fstr(pinfo->cinfo, COL_INFO, " QM=%s", sQueueManager); } - g_free(sQueueManager); } if (tree) @@ -1891,12 +1883,11 @@ dissect_mq_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) if (check_col(pinfo->cinfo, COL_INFO)) { guint8* sUserId; - sUserId = tvb_get_string(tvb, offset + 4, 12); + sUserId = ep_tvb_get_string(tvb, offset + 4, 12); if (strip_trailing_blanks(sUserId, 12) != 0) { col_append_fstr(pinfo->cinfo, COL_INFO, ": User=%s", sUserId); } - g_free(sUserId); } if (tree) @@ -1943,12 +1934,11 @@ dissect_mq_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) if (check_col(pinfo->cinfo, COL_INFO)) { guint8* sQueue; - sQueue = tvb_get_string(tvb, offset + 12, 48); + sQueue = ep_tvb_get_string(tvb, offset + 12, 48); if (strip_trailing_blanks(sQueue,48) != 0) { col_append_fstr(pinfo->cinfo, COL_INFO, " Obj=%s", sQueue); } - g_free(sQueue); } if (tree) @@ -2245,7 +2235,7 @@ dissect_mq_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) if (tMsgProps.iOffsetFormat != 0) { guint8* sFormat = NULL; - sFormat = tvb_get_string(tvb, tMsgProps.iOffsetFormat, 8); + sFormat = ep_tvb_get_string(tvb, tMsgProps.iOffsetFormat, 8); if (strip_trailing_blanks(sFormat, 8) == 0) sFormat = (guint8*)g_strdup("MQNONE"); if (check_col(pinfo->cinfo, COL_INFO)) { @@ -2255,7 +2245,6 @@ dissect_mq_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { proto_tree_add_string_hidden(tree, hf_mq_md_hidden_lastformat, tvb, tMsgProps.iOffsetFormat, 8, (const char*)sFormat); } - g_free(sFormat); } if (check_col(pinfo->cinfo, COL_INFO)) { diff --git a/epan/dissectors/packet-sdp.c b/epan/dissectors/packet-sdp.c index c784fe2051..84cbefe3c9 100644 --- a/epan/dissectors/packet-sdp.c +++ b/epan/dissectors/packet-sdp.c @@ -364,7 +364,7 @@ dissect_sdp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) tokenoffset = 2; if (hf == hf_unknown) tokenoffset = 0; - string = tvb_get_string(tvb, offset + tokenoffset, + string = ep_tvb_get_string(tvb, offset + tokenoffset, linelen - tokenoffset); sub_ti = proto_tree_add_string_format(sdp_tree,hf,tvb, offset, linelen, string, @@ -372,7 +372,6 @@ dissect_sdp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) proto_registrar_get_name(hf), format_text(string, linelen - tokenoffset)); - g_free(string); call_sdp_subdissector(tvb_new_subset(tvb,offset+tokenoffset, linelen-tokenoffset, linelen-tokenoffset), @@ -837,12 +836,11 @@ static void dissect_sdp_session_attribute(tvbuff_t *tvb, proto_item * ti){ hf_session_attribute_field, tvb, offset, tokenlen, FALSE); - field_name = tvb_get_string(tvb, offset, tokenlen); + field_name = ep_tvb_get_string(tvb, offset, tokenlen); offset = next_offset + 1; if (strcmp(field_name, "ipbcp") == 0) { - g_free(field_name); offset = tvb_pbrk_guint8(tvb,offset,-1,"0123456789"); @@ -875,7 +873,6 @@ static void dissect_sdp_session_attribute(tvbuff_t *tvb, proto_item * ti){ hf_session_attribute_value, tvb, offset, -1, FALSE); - g_free(field_name); } } @@ -967,14 +964,13 @@ dissect_sdp_media(tvbuff_t *tvb, proto_item *ti, if (strcmp(transport_info->media_proto[transport_info->media_count], "RTP/AVP") == 0) { - media_format = tvb_get_string(tvb, offset, tokenlen); + media_format = ep_tvb_get_string(tvb, offset, tokenlen); proto_tree_add_string(sdp_media_tree, hf_media_format, tvb, offset, tokenlen, val_to_str(atol(media_format), rtp_payload_type_vals, "%u")); index = transport_info->media[transport_info->media_count].pt_count; transport_info->media[transport_info->media_count].pt[index] = atol(media_format); if (index < (SDP_MAX_RTP_PAYLOAD_TYPES-1)) transport_info->media[transport_info->media_count].pt_count++; - g_free(media_format); } else { proto_tree_add_item(sdp_media_tree, hf_media_format, tvb, offset, tokenlen, FALSE); @@ -1021,7 +1017,7 @@ static void dissect_sdp_media_attribute(tvbuff_t *tvb, proto_item * ti, transpor hf_media_attribute_field, tvb, offset, tokenlen, FALSE); - field_name = tvb_get_string(tvb, offset, tokenlen); + field_name = ep_tvb_get_string(tvb, offset, tokenlen); offset = next_offset + 1; proto_tree_add_item(sdp_media_attribute_tree, @@ -1033,21 +1029,19 @@ static void dissect_sdp_media_attribute(tvbuff_t *tvb, proto_item * ti, transpor gint *key; next_offset = tvb_find_guint8(tvb,offset,-1,' '); - g_free(field_name); if(next_offset == -1) return; tokenlen = next_offset - offset; - payload_type = tvb_get_string(tvb, offset, tokenlen); + payload_type = ep_tvb_get_string(tvb, offset, tokenlen); offset = next_offset + 1; next_offset = tvb_find_guint8(tvb,offset,-1,'/'); if(next_offset == -1){ - g_free(payload_type); return; } @@ -1091,8 +1085,7 @@ static void dissect_sdp_media_attribute(tvbuff_t *tvb, proto_item * ti, transpor else g_hash_table_insert(transport_info->media[ transport_info->media_count-1 ].rtp_dyn_payload, key, encoding_name); - g_free(payload_type); - } else g_free(field_name); + } } void diff --git a/epan/dissectors/packet-slsk.c b/epan/dissectors/packet-slsk.c index b9864a8a82..9b9bb07ce2 100644 --- a/epan/dissectors/packet-slsk.c +++ b/epan/dissectors/packet-slsk.c @@ -977,11 +977,10 @@ static void dissect_slsk_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree offset += 4+len; len = tvb_get_letohl(tvb, offset); proto_tree_add_uint(slsk_tree, hf_slsk_string_length, tvb, offset, 4, len); - str = tvb_get_string(tvb, offset+4, len); + str = ep_tvb_get_string(tvb, offset+4, len); proto_tree_add_string_format(slsk_tree, hf_slsk_connection_type, tvb, offset+4, len, str, "Connection Type: %s (Char: %s)", connection_type(str), format_text(str, len)); - g_free(str); offset += 4+len; } else if (check_slsk_format(tvb, offset, "issiii")) { @@ -998,11 +997,10 @@ static void dissect_slsk_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree offset += 4+len; len = tvb_get_letohl(tvb, offset); proto_tree_add_uint(slsk_tree, hf_slsk_string_length, tvb, offset, 4, len); - str = tvb_get_string(tvb, offset+4, len); + str = ep_tvb_get_string(tvb, offset+4, len); proto_tree_add_string_format(slsk_tree, hf_slsk_connection_type, tvb, offset+4, len, str, "Connection Type: %s (Char: %s)", connection_type(str), format_text(str, len)); - g_free(str); offset += 4+len; proto_tree_add_item(slsk_tree, hf_slsk_ip, tvb, offset, 4, FALSE); offset += 4; @@ -2359,11 +2357,10 @@ static void dissect_slsk_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree offset += 4+len; len = tvb_get_letohl(tvb, offset); proto_tree_add_uint(slsk_tree, hf_slsk_string_length, tvb, offset, 4, len); - str = tvb_get_string(tvb, offset+4, len); + str = ep_tvb_get_string(tvb, offset+4, len); proto_tree_add_string_format(slsk_tree, hf_slsk_connection_type, tvb, offset+4, len, str, "Connection Type: %s (Char: %s)", connection_type(str), format_text(str, len)); - g_free(str); offset += 4+len; proto_tree_add_uint(slsk_tree, hf_slsk_token, tvb, offset, 4, tvb_get_letohl(tvb, offset)); offset += 4; diff --git a/epan/dissectors/packet-tacacs.c b/epan/dissectors/packet-tacacs.c index ba932bfe3c..f7a2435aa2 100644 --- a/epan/dissectors/packet-tacacs.c +++ b/epan/dissectors/packet-tacacs.c @@ -574,10 +574,9 @@ dissect_tacplus_body_authen_req_cont( tvbuff_t *tvb, proto_tree *tree ) val=tvb_get_ntohs( tvb, AUTHEN_C_USER_LEN_OFF ); proto_tree_add_text( tree, tvb, AUTHEN_C_USER_LEN_OFF, 2 , "User length: %d", val ); if( val ){ - buff=tvb_get_string( tvb, var_off, val ); + buff=ep_tvb_get_string( tvb, var_off, val ); proto_tree_add_text( tree, tvb, var_off, val, "User: %s", buff ); var_off+=val; - g_free(buff); } val=tvb_get_ntohs( tvb, AUTHEN_C_DATA_LEN_OFF ); @@ -612,10 +611,9 @@ dissect_tacplus_body_authen_rep( tvbuff_t *tvb, proto_tree *tree ) proto_tree_add_text( tree, tvb, AUTHEN_R_SRV_MSG_LEN_OFF, 2 , "Server message length: %d", val ); if( val ) { - buff=tvb_get_string(tvb, var_off, val ); + buff=ep_tvb_get_string(tvb, var_off, val ); proto_tree_add_text(tree, tvb, var_off, val, "Server message: %s", buff ); var_off+=val; - g_free(buff); } val=tvb_get_ntohs(tvb, AUTHEN_R_DATA_LEN_OFF ); @@ -737,11 +735,10 @@ dissect_tacplus_body_acct_rep( tvbuff_t* tvb, proto_tree *tree ) proto_tree_add_text( tree, tvb, ACCT_R_SRV_MSG_LEN_OFF, 2 , "Server message length: %d", val ); if( val ) { - buff=tvb_get_string( tvb, var_off, val ); + buff=ep_tvb_get_string( tvb, var_off, val ); proto_tree_add_text( tree, tvb, var_off, val, "Server message: %s", buff ); var_off+=val; - g_free(buff); } /* Data */ @@ -749,10 +746,9 @@ dissect_tacplus_body_acct_rep( tvbuff_t* tvb, proto_tree *tree ) proto_tree_add_text( tree, tvb, ACCT_R_DATA_LEN_OFF, 2 , "Data length: %d", val ); if( val ) { - buff= tvb_get_string( tvb, var_off, val ); + buff= ep_tvb_get_string( tvb, var_off, val ); proto_tree_add_text( tree, tvb, var_off, val, "Data: %s", buff ); - g_free(buff); } } diff --git a/epan/dissectors/packet-ucp.c b/epan/dissectors/packet-ucp.c index 6ff5490dd1..b9dece1f81 100644 --- a/epan/dissectors/packet-ucp.c +++ b/epan/dissectors/packet-ucp.c @@ -785,12 +785,11 @@ ucp_handle_int(proto_tree *tree, tvbuff_t *tvb, int field, int *offset) tvb_ensure_bytes_exist(tvb, *offset, len + 1); } else len = idx - *offset; - strval = tvb_get_string(tvb, *offset, len); + strval = ep_tvb_get_string(tvb, *offset, len); if (len > 0) { intval = atoi(strval); proto_tree_add_uint(tree, field, tvb, *offset, idx, intval); } - g_free(strval); *offset += len; if (idx != -1) *offset += 1; /* skip terminating '/' */ @@ -812,14 +811,13 @@ ucp_handle_time(proto_tree *tree, tvbuff_t *tvb, int field, int *offset) tvb_ensure_bytes_exist(tvb, *offset, len + 1); } else len = idx - *offset; - strval = tvb_get_string(tvb, *offset, len); + strval = ep_tvb_get_string(tvb, *offset, len); if (len > 0) { tval = ucp_mktime(strval); tmptime.secs = tval; tmptime.nsecs = 0; proto_tree_add_time(tree, field, tvb, *offset, idx, &tmptime); } - g_free(strval); *offset += len; if (idx != -1) *offset += 1; /* skip terminating '/' */ diff --git a/epan/dissectors/packet-uma.c b/epan/dissectors/packet-uma.c index af823c5ff1..12a4bbb888 100644 --- a/epan/dissectors/packet-uma.c +++ b/epan/dissectors/packet-uma.c @@ -949,9 +949,8 @@ dissect_uma_IE(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset) break; case 10: /* UNC SGW Fully Qualified Domain/Host Name */ if ( ie_len > 0){ - string = tvb_get_string(tvb, ie_offset, ie_len); + string = ep_tvb_get_string(tvb, ie_offset, ie_len); proto_tree_add_string(urr_ie_tree, hf_uma_urr_FQDN, tvb, ie_offset, ie_len, string); - g_free(string); }else{ proto_tree_add_text(urr_ie_tree,tvb,offset,1,"FQDN not present"); } @@ -1352,9 +1351,8 @@ dissect_uma_IE(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset) break; case 98: /* UNC Fully Qualified Domain/Host Name */ if ( ie_len > 0){ - string = tvb_get_string(tvb, ie_offset, ie_len); + string = ep_tvb_get_string(tvb, ie_offset, ie_len); proto_tree_add_string(urr_ie_tree, hf_uma_unc_FQDN, tvb, ie_offset, ie_len, string); - g_free(string); }else{ proto_tree_add_text(urr_ie_tree,tvb,offset,1,"UNC FQDN not present"); } |