aboutsummaryrefslogtreecommitdiffstats
path: root/epan
diff options
context:
space:
mode:
authormorriss <morriss@f5534014-38df-0310-8fa8-9805f1628bb7>2011-01-16 03:29:03 +0000
committermorriss <morriss@f5534014-38df-0310-8fa8-9805f1628bb7>2011-01-16 03:29:03 +0000
commit79d6570a1e16ef93f8050d800e46811876b81a4a (patch)
treeee4e7efac0f2d4a12f25d92b0b1fd222f1e47587 /epan
parentecae7cafd1794767da180ca867aec8a92bb4c79f (diff)
Use tvb_ip_to_str().
There's no need to pass the result of tvb_get_ptr() as the 'value' in proto_tree_add_*(): just use proto_tree_add_item(). Replace some tvb_get_ptr()s with tvb_get_ephemeral_string()s to ensure the return string is NULL terminated. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@35545 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan')
-rw-r--r--epan/dissectors/packet-aruba-adp.c22
-rw-r--r--epan/dissectors/packet-dcerpc-rs_pgo.c25
-rw-r--r--epan/dissectors/packet-dcom.c6
-rw-r--r--epan/dissectors/packet-dec-dnart.c19
-rw-r--r--epan/dissectors/packet-fc.c4
-rw-r--r--epan/dissectors/packet-fcsp.c97
-rw-r--r--epan/dissectors/packet-fddi.c4
-rw-r--r--epan/dissectors/packet-icq.c52
-rw-r--r--epan/dissectors/packet-ismp.c2
9 files changed, 98 insertions, 133 deletions
diff --git a/epan/dissectors/packet-aruba-adp.c b/epan/dissectors/packet-aruba-adp.c
index 389642124a..bd62cb084a 100644
--- a/epan/dissectors/packet-aruba-adp.c
+++ b/epan/dissectors/packet-aruba-adp.c
@@ -60,7 +60,7 @@ dissect_aruba_adp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
proto_tree *aruba_adp_tree = NULL;
guint16 type;
const guint8 *src_mac;
- const guint8 *switchip;
+ const gchar *switchip;
col_set_str(pinfo->cinfo, COL_PROTOCOL, "ADP");
@@ -76,7 +76,7 @@ dissect_aruba_adp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
type = tvb_get_ntohs(tvb, 2);
if (tree) {
- proto_tree_add_item(aruba_adp_tree, hf_adp_type, tvb, 2, 2, FALSE);
+ proto_tree_add_item(aruba_adp_tree, hf_adp_type, tvb, 2, 2, FALSE);
proto_tree_add_item(aruba_adp_tree, hf_adp_id, tvb, 4, 2, FALSE);
}
@@ -92,21 +92,21 @@ dissect_aruba_adp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
proto_item_append_text(ti, ", Request Src MAC: %s", ether_to_str(src_mac));
break;
-
+
case ADP_RESPONSE:
-
+
proto_tree_add_item(aruba_adp_tree, hf_adp_switchip, tvb, 6, 4, FALSE);
- switchip = tvb_get_ptr(tvb, 6, 4);
-
+ switchip = tvb_ip_to_str(tvb, 6);
+
if (check_col(pinfo->cinfo, COL_INFO))
- col_add_fstr(pinfo->cinfo, COL_INFO, "ADP Response Switch IP: %s", ip_to_str(switchip));
-
- proto_item_append_text(ti, ", Response Switch IP: %s", ip_to_str(switchip));
+ col_add_fstr(pinfo->cinfo, COL_INFO, "ADP Response Switch IP: %s", switchip);
+
+ proto_item_append_text(ti, ", Response Switch IP: %s", switchip);
break;
-
+
default:
break;
-
+
}
}
diff --git a/epan/dissectors/packet-dcerpc-rs_pgo.c b/epan/dissectors/packet-dcerpc-rs_pgo.c
index f653a97ef6..5bf79bbc83 100644
--- a/epan/dissectors/packet-dcerpc-rs_pgo.c
+++ b/epan/dissectors/packet-dcerpc-rs_pgo.c
@@ -183,7 +183,6 @@ dissect sec_rgy_pname const signed32 sec_rgy_pname_t_size = 257; * In
typedef [string] char sec_rgy_pname_t[sec_rgy_pname_t_size];
*/
guint32 string_size;
- const guint8 *namestring;
dcerpc_info *di;
di = pinfo->private_data;
@@ -200,25 +199,21 @@ dissect sec_rgy_pname const signed32 sec_rgy_pname_t_size = 257; * In
tree = proto_item_add_subtree (item, ett_sec_rgy_pname_t);
}
- offset =
- dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
- hf_sec_rgy_pname_t_size, &string_size);
+ offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
+ hf_sec_rgy_pname_t_size, &string_size);
if (check_col (pinfo->cinfo, COL_INFO))
col_append_fstr (pinfo->cinfo, COL_INFO, " String_size:%u", string_size);
if (string_size < sec_rgy_pname_t_size)
{
/* proto_tree_add_string(tree, id, tvb, start, length, value_ptr); */
- proto_tree_add_string (tree, hf_sec_rgy_pname_t_principalName_string,
- tvb, offset, string_size, tvb_get_ptr (tvb,
- offset,
- string_size));
+ proto_tree_add_item (tree, hf_sec_rgy_pname_t_principalName_string,
+ tvb, offset, string_size, ENC_NA);
if (string_size > 1)
{
- namestring = tvb_get_ptr (tvb, offset, string_size);
if (check_col (pinfo->cinfo, COL_INFO))
col_append_fstr (pinfo->cinfo, COL_INFO, " Principal:%s",
- namestring);
+ tvb_get_ephemeral_string(tvb, offset, string_size));
}
offset += string_size;
}
@@ -409,7 +404,6 @@ dissect_sec_rgy_name_t (tvbuff_t * tvb, int offset,
#define sec_rgy_name_t_size 1025
/* typedef [string] char sec_rgy_name_t[sec_rgy_name_t_size]; */
guint32 string_size;
- const guint8 *namestring;
dcerpc_info *di;
di = pinfo->private_data;
@@ -435,16 +429,13 @@ dissect_sec_rgy_name_t (tvbuff_t * tvb, int offset,
{
/* proto_tree_add_string(tree, id, tvb, start, length, value_ptr); */
- proto_tree_add_string (tree, hf_sec_rgy_name_t_principalName_string,
- tvb, offset, string_size, tvb_get_ptr (tvb,
- offset,
- string_size));
+ proto_tree_add_item (tree, hf_sec_rgy_name_t_principalName_string,
+ tvb, offset, string_size, ENC_NA);
if (string_size > 1)
{
- namestring = tvb_get_ptr (tvb, offset, string_size);
if (check_col (pinfo->cinfo, COL_INFO))
col_append_fstr (pinfo->cinfo, COL_INFO, " Principal:%s",
- namestring);
+ tvb_get_ephemeral_string (tvb, offset, string_size));
}
offset += string_size;
}
diff --git a/epan/dissectors/packet-dcom.c b/epan/dissectors/packet-dcom.c
index c14f8e3670..7d83989d5d 100644
--- a/epan/dissectors/packet-dcom.c
+++ b/epan/dissectors/packet-dcom.c
@@ -943,8 +943,7 @@ dissect_dcom_tobedone_data(tvbuff_t *tvb, int offset,
proto_item *item;
- item = proto_tree_add_bytes(tree, hf_dcom_tobedone, tvb, offset, length,
- tvb_get_ptr(tvb, offset, length));
+ item = proto_tree_add_item(tree, hf_dcom_tobedone, tvb, offset, length, ENC_NA);
PROTO_ITEM_SET_GENERATED(item);
expert_add_info_format(pinfo, item, PI_UNDECODED, PI_WARN, "Dissection incomplete");
@@ -963,8 +962,7 @@ dissect_dcom_nospec_data(tvbuff_t *tvb, int offset,
proto_item *item;
- item = proto_tree_add_bytes(tree, hf_dcom_nospec, tvb, offset, length,
- tvb_get_ptr(tvb, offset, length));
+ item = proto_tree_add_item(tree, hf_dcom_nospec, tvb, offset, length, ENC_NA);
PROTO_ITEM_SET_GENERATED(item);
expert_add_info_format(pinfo, item, PI_UNDECODED, PI_NOTE, "No specification available, dissection not possible");
diff --git a/epan/dissectors/packet-dec-dnart.c b/epan/dissectors/packet-dec-dnart.c
index a9b8e62eaf..439ec02075 100644
--- a/epan/dissectors/packet-dec-dnart.c
+++ b/epan/dissectors/packet-dec-dnart.c
@@ -602,9 +602,8 @@ do_initialization_msg(
my_offset += 2;
remainder_count = tvb_get_guint8(tvb, my_offset);
if (remainder_count != 0) {
- proto_tree_add_bytes(tree, hf_dec_rt_reserved, tvb,
- my_offset, remainder_count,
- tvb_get_ptr(tvb, my_offset, remainder_count));
+ proto_tree_add_item(tree, hf_dec_rt_reserved, tvb,
+ my_offset, remainder_count, ENC_NA);
my_offset += remainder_count;
}
return (my_offset);
@@ -626,9 +625,8 @@ do_verification_msg(
offset += 2;
remainder_count = tvb_get_guint8(tvb, my_offset);
if (remainder_count != 0) {
- proto_tree_add_bytes(tree, hf_dec_rt_fcnval, tvb,
- my_offset, remainder_count,
- tvb_get_ptr(tvb, my_offset, remainder_count));
+ proto_tree_add_item(tree, hf_dec_rt_fcnval, tvb,
+ my_offset, remainder_count, ENC_NA);
my_offset += remainder_count;
}
return (my_offset);
@@ -650,9 +648,8 @@ do_hello_test_msg(
my_offset += 2;
remainder_count = tvb_length_remaining(tvb, my_offset);
if (remainder_count != 0) {
- proto_tree_add_bytes(tree, hf_dec_rt_test_data, tvb,
- my_offset, remainder_count,
- tvb_get_ptr(tvb, my_offset, remainder_count));
+ proto_tree_add_item(tree, hf_dec_rt_test_data, tvb,
+ my_offset, remainder_count, ENC_NA);
my_offset += remainder_count;
}
return (my_offset);
@@ -824,8 +821,8 @@ do_hello_msg(
tvb, my_offset, 1, "Router States");
list_tree = proto_item_add_subtree(ti_locala, ett_dec_rt_list);
while (image_len > 0) {
- ti_ether = proto_tree_add_bytes(list_tree, hf_dec_rt_ename, tvb,
- my_offset, 7, tvb_get_ptr(tvb, my_offset, 7));
+ ti_ether = proto_tree_add_item(list_tree, hf_dec_rt_ename, tvb,
+ my_offset, 7, ENC_NA);
list_ether = proto_item_add_subtree(ti_ether, ett_dec_rt_rlist);
my_offset += 7;
image_len -= 7;
diff --git a/epan/dissectors/packet-fc.c b/epan/dissectors/packet-fc.c
index 6fbf71c38e..645e38b028 100644
--- a/epan/dissectors/packet-fc.c
+++ b/epan/dissectors/packet-fc.c
@@ -1064,9 +1064,9 @@ dissect_fc_helper (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gboolean
/* Yes - dissect it. */
if (tree) {
proto_tree_add_string (fc_tree, hf_fc_nh_da, tvb, next_offset, 8,
- fcwwn_to_str (tvb_get_ptr (tvb, offset, 8)));
+ fcwwn_to_str (tvb_get_ephemeral_string (tvb, offset, 8)));
proto_tree_add_string (fc_tree, hf_fc_nh_sa, tvb, offset+8, 8,
- fcwwn_to_str (tvb_get_ptr (tvb, offset+8, 8)));
+ fcwwn_to_str (tvb_get_ephemeral_string (tvb, offset+8, 8)));
}
next_offset += 16;
}
diff --git a/epan/dissectors/packet-fcsp.c b/epan/dissectors/packet-fcsp.c
index d512efc8fd..2a70120869 100644
--- a/epan/dissectors/packet-fcsp.c
+++ b/epan/dissectors/packet-fcsp.c
@@ -14,17 +14,17 @@
* don't bother with the "Copied from" - you don't even need to put
* in a "Copied from" if you copied an existing dissector, especially
* if the bulk of the code in the new dissector is your code)
- *
+ *
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
- *
+ *
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
- *
+ *
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
@@ -53,17 +53,17 @@
#include "packet-fc.h"
/* Message Codes */
-#define FC_AUTH_MSG_AUTH_REJECT 0x0A
-#define FC_AUTH_MSG_AUTH_NEGOTIATE 0x0B
-#define FC_AUTH_MSG_AUTH_DONE 0x0C
-#define FC_AUTH_DHCHAP_CHALLENGE 0x10
-#define FC_AUTH_DHCHAP_REPLY 0x11
-#define FC_AUTH_DHCHAP_SUCCESS 0x12
-#define FC_AUTH_FCAP_REQUEST 0x13
-#define FC_AUTH_FCAP_ACKNOWLEDGE 0x14
-#define FC_AUTH_FCAP_CONFIRM 0x15
-#define FC_AUTH_FCPAP_INIT 0x16
-#define FC_AUTH_FCPAP_ACCEPT 0x17
+#define FC_AUTH_MSG_AUTH_REJECT 0x0A
+#define FC_AUTH_MSG_AUTH_NEGOTIATE 0x0B
+#define FC_AUTH_MSG_AUTH_DONE 0x0C
+#define FC_AUTH_DHCHAP_CHALLENGE 0x10
+#define FC_AUTH_DHCHAP_REPLY 0x11
+#define FC_AUTH_DHCHAP_SUCCESS 0x12
+#define FC_AUTH_FCAP_REQUEST 0x13
+#define FC_AUTH_FCAP_ACKNOWLEDGE 0x14
+#define FC_AUTH_FCAP_CONFIRM 0x15
+#define FC_AUTH_FCPAP_INIT 0x16
+#define FC_AUTH_FCPAP_ACCEPT 0x17
#define FC_AUTH_FCPAP_COMPLETE 0x18
#define FC_AUTH_NAME_TYPE_WWN 0x1
@@ -190,11 +190,11 @@ static void dissect_fcsp_dhchap_auth_param (tvbuff_t *tvb, proto_tree *tree,
{
guint16 auth_param_tag;
guint16 param_len = 0, i;
-
+
if (tree) {
auth_param_tag = tvb_get_ntohs (tvb, offset);
total_len -= 4;
-
+
while (total_len > 0) {
proto_tree_add_item (tree, hf_auth_dhchap_param_tag, tvb, offset,
2, 0);
@@ -237,7 +237,7 @@ static void dissect_fcsp_dhchap_challenge (tvbuff_t *tvb, proto_tree *tree)
int offset = 12;
guint16 name_type;
guint16 param_len, name_len;
-
+
if (tree) {
proto_tree_add_item (tree, hf_auth_responder_name_type, tvb, offset,
2, 0);
@@ -247,7 +247,7 @@ static void dissect_fcsp_dhchap_challenge (tvbuff_t *tvb, proto_tree *tree)
2, 0);
name_len = tvb_get_ntohs (tvb, offset+2);
-
+
if (name_type == FC_AUTH_NAME_TYPE_WWN) {
proto_tree_add_string (tree, hf_auth_responder_wwn, tvb, offset+4,
8,
@@ -255,11 +255,11 @@ static void dissect_fcsp_dhchap_challenge (tvbuff_t *tvb, proto_tree *tree)
8)));
}
else {
- proto_tree_add_bytes (tree, hf_auth_responder_name, tvb, offset+4,
- name_len, tvb_get_ptr (tvb, offset+4, name_len));
+ proto_tree_add_item (tree, hf_auth_responder_name, tvb, offset+4,
+ name_len, ENC_NA);
}
offset += (4+name_len);
-
+
proto_tree_add_item (tree, hf_auth_dhchap_hash_type, tvb, offset,
4, 0);
proto_tree_add_item (tree, hf_auth_dhchap_group_type, tvb, offset+4,
@@ -267,18 +267,16 @@ static void dissect_fcsp_dhchap_challenge (tvbuff_t *tvb, proto_tree *tree)
proto_tree_add_item (tree, hf_auth_dhchap_chal_len, tvb, offset+8,
4, 0);
param_len = tvb_get_ntohl (tvb, offset+8);
-
- proto_tree_add_bytes (tree, hf_auth_dhchap_chal_value, tvb, offset+12,
- param_len,
- tvb_get_ptr (tvb, offset+12, param_len));
+
+ proto_tree_add_item (tree, hf_auth_dhchap_chal_value, tvb, offset+12,
+ param_len, ENC_NA);
offset += (param_len + 12);
proto_tree_add_item (tree, hf_auth_dhchap_val_len, tvb, offset, 4, 0);
param_len = tvb_get_ntohl (tvb, offset);
-
- proto_tree_add_bytes (tree, hf_auth_dhchap_dhvalue, tvb, offset+4,
- param_len,
- tvb_get_ptr (tvb, offset+4, param_len));
+
+ proto_tree_add_item (tree, hf_auth_dhchap_dhvalue, tvb, offset+4,
+ param_len, ENC_NA);
}
}
@@ -287,30 +285,27 @@ static void dissect_fcsp_dhchap_reply (tvbuff_t *tvb, proto_tree *tree)
{
int offset = 12;
guint32 param_len;
-
+
if (tree) {
proto_tree_add_item (tree, hf_auth_dhchap_rsp_len, tvb, offset, 4, 0);
param_len = tvb_get_ntohl (tvb, offset);
- proto_tree_add_bytes (tree, hf_auth_dhchap_rsp_value, tvb, offset+4,
- param_len,
- tvb_get_ptr (tvb, offset+4, param_len));
+ proto_tree_add_item (tree, hf_auth_dhchap_rsp_value, tvb, offset+4,
+ param_len, ENC_NA);
offset += (param_len + 4);
proto_tree_add_item (tree, hf_auth_dhchap_val_len, tvb, offset, 4, 0);
param_len = tvb_get_ntohl (tvb, offset);
- proto_tree_add_bytes (tree, hf_auth_dhchap_dhvalue, tvb, offset+4,
- param_len,
- tvb_get_ptr (tvb, offset+4, param_len));
+ proto_tree_add_item (tree, hf_auth_dhchap_dhvalue, tvb, offset+4,
+ param_len, ENC_NA);
offset += (param_len + 4);
proto_tree_add_item (tree, hf_auth_dhchap_chal_len, tvb, offset, 4, 0);
param_len = tvb_get_ntohl (tvb, offset);
- proto_tree_add_bytes (tree, hf_auth_dhchap_chal_value, tvb, offset+4,
- param_len,
- tvb_get_ptr (tvb, offset+4, param_len));
+ proto_tree_add_item (tree, hf_auth_dhchap_chal_value, tvb, offset+4,
+ param_len, ENC_NA);
}
}
@@ -318,14 +313,13 @@ static void dissect_fcsp_dhchap_success (tvbuff_t *tvb, proto_tree *tree)
{
int offset = 12;
guint32 param_len;
-
+
if (tree) {
proto_tree_add_item (tree, hf_auth_dhchap_rsp_len, tvb, offset, 4, 0);
param_len = tvb_get_ntohl (tvb, offset);
- proto_tree_add_bytes (tree, hf_auth_dhchap_rsp_value, tvb, offset+4,
- param_len,
- tvb_get_ptr (tvb, offset+4, param_len));
+ proto_tree_add_item (tree, hf_auth_dhchap_rsp_value, tvb, offset+4,
+ param_len, ENC_NA);
}
}
@@ -350,9 +344,8 @@ static void dissect_fcsp_auth_negotiate (tvbuff_t *tvb, proto_tree *tree)
fcwwn_to_str (tvb_get_ptr (tvb, offset+4, 8)));
}
else {
- proto_tree_add_bytes (tree, hf_auth_initiator_name, tvb, offset+4,
- name_len, tvb_get_ptr (tvb, offset+4,
- name_len));
+ proto_tree_add_item (tree, hf_auth_initiator_name, tvb, offset+4,
+ name_len, ENC_NA);
}
offset += (4+name_len);
@@ -360,12 +353,12 @@ static void dissect_fcsp_auth_negotiate (tvbuff_t *tvb, proto_tree *tree)
proto_tree_add_item (tree, hf_auth_usable_proto, tvb, offset, 4, 0);
num_protos = tvb_get_ntohl (tvb, offset);
offset += 4;
-
+
for (i = 0; i < num_protos; i++) {
proto_tree_add_item (tree, hf_auth_proto_param_len, tvb, offset, 4, 0);
param_len = tvb_get_ntohl (tvb, offset);
offset += 4;
-
+
if (tvb_bytes_exist (tvb, offset, param_len)) {
proto_type = tvb_get_ntohl (tvb, offset);
@@ -392,7 +385,7 @@ static void dissect_fcsp_auth_done (tvbuff_t *tvb _U_, proto_tree *tree _U_)
static void dissect_fcsp_auth_rjt (tvbuff_t *tvb, proto_tree *tree)
{
int offset = 12;
-
+
if (tree) {
proto_tree_add_item (tree, hf_auth_rjt_code, tvb, offset, 1, 0);
proto_tree_add_item (tree, hf_auth_rjt_codedet, tvb, offset+1, 1, 0);
@@ -413,7 +406,7 @@ static void dissect_fcsp (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
col_add_str (pinfo->cinfo, COL_INFO,
val_to_str (opcode, fcauth_msgcode_vals, "0x%x"));
}
-
+
if (tree) {
ti = proto_tree_add_protocol_format (tree, proto_fcsp, tvb, 0,
tvb_length (tvb), "FC-SP");
@@ -462,7 +455,7 @@ static void dissect_fcsp (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
void
proto_register_fcsp (void)
-{
+{
/* Setup list of header fields See Section 1.6.1 for details*/
static hf_register_info hf[] = {
{ &hf_auth_proto_ver,
@@ -555,7 +548,7 @@ proto_register_fcsp (void)
{ &hf_auth_dhchap_rsp_value,
{"Response Value", "fcsp.dhchap.rspval", FT_BYTES, BASE_NONE, NULL,
0x0, NULL, HFILL}},
-
+
};
diff --git a/epan/dissectors/packet-fddi.c b/epan/dissectors/packet-fddi.c
index 8051685206..26b960dc8f 100644
--- a/epan/dissectors/packet-fddi.c
+++ b/epan/dissectors/packet-fddi.c
@@ -320,7 +320,7 @@ dissect_fddi(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
if (bitswapped)
swap_mac_addr(dst, tvb_get_ptr(tvb, FDDI_P_DHOST + FDDI_PADDING, 6));
else
- memcpy(dst, tvb_get_ptr(tvb, FDDI_P_DHOST + FDDI_PADDING, 6), sizeof dst);
+ tvb_memcpy(tvb, dst, FDDI_P_DHOST + FDDI_PADDING, sizeof(dst));
swap_mac_addr(dst_swapped, tvb_get_ptr(tvb, FDDI_P_DHOST + FDDI_PADDING, 6));
/* XXX - copy them to some buffer associated with "pi", rather than
@@ -345,7 +345,7 @@ dissect_fddi(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
if (bitswapped)
swap_mac_addr(src, tvb_get_ptr(tvb, FDDI_P_SHOST + FDDI_PADDING, 6));
else
- memcpy(src, tvb_get_ptr(tvb, FDDI_P_SHOST + FDDI_PADDING, 6), sizeof src);
+ tvb_memcpy(tvb, src, FDDI_P_SHOST + FDDI_PADDING, sizeof(src));
swap_mac_addr(src_swapped, tvb_get_ptr(tvb, FDDI_P_SHOST + FDDI_PADDING, 6));
/* XXX - copy them to some buffer associated with "pi", rather than
diff --git a/epan/dissectors/packet-icq.c b/epan/dissectors/packet-icq.c
index aea2f6c133..e978628dfb 100644
--- a/epan/dissectors/packet-icq.c
+++ b/epan/dissectors/packet-icq.c
@@ -518,7 +518,7 @@ proto_add_icq_attr(proto_tree* tree, /* The tree to add to */
return -1; /* length goes past end of packet */
proto_tree_add_text(tree, tvb, offset, sizeof(guint16) + len,
"%s[%u]: %.*s", descr, len, len,
- tvb_get_ptr(tvb, offset + sizeof(guint16), len));
+ tvb_get_ephemeral_string(tvb, offset + sizeof(guint16), len));
return len + sizeof(guint16);
}
@@ -595,7 +595,7 @@ icqv5_decode_msgType(proto_tree* tree, tvbuff_t *tvb, int offset, int size,
break;
case MSG_TEXT:
proto_tree_add_text(subtree, tvb, offset, left, "Msg: %.*s", left-1,
- tvb_get_ptr(tvb, offset, left));
+ tvb_get_ephemeral_string(tvb, offset, left));
break;
case MSG_URL:
for (n = 0; n < N_URL_FIELDS; n++) {
@@ -608,7 +608,7 @@ icqv5_decode_msgType(proto_tree* tree, tvbuff_t *tvb, int offset, int size,
proto_tree_add_text(subtree, tvb, offset, sz, "%s: %.*s",
url_field_descr[n],
sz - 1,
- tvb_get_ptr(tvb, offset, sz));
+ tvb_get_ephemeral_string(tvb, offset, sz));
} else {
proto_tree_add_text(subtree, tvb, offset, 0,
"%s: %s", url_field_descr[n], "(empty)");
@@ -628,7 +628,7 @@ icqv5_decode_msgType(proto_tree* tree, tvbuff_t *tvb, int offset, int size,
proto_tree_add_text(subtree, tvb, offset, sz, "%s: %.*s",
email_field_descr[n],
sz - 1,
- tvb_get_ptr(tvb, offset, sz));
+ tvb_get_ephemeral_string(tvb, offset, sz));
} else {
proto_tree_add_text(subtree, tvb, offset, 0, "%s: %s",
email_field_descr[n], "(empty)");
@@ -662,7 +662,7 @@ icqv5_decode_msgType(proto_tree* tree, tvbuff_t *tvb, int offset, int size,
if (sz != 0) {
proto_tree_add_text(subtree, tvb, offset, sz, "%s: %.*s",
auth_req_field_descr[n], sz - 1,
- tvb_get_ptr(tvb, offset, sz));
+ tvb_get_ephemeral_string(tvb, offset, sz));
} else {
proto_tree_add_text(subtree, tvb, offset, 0, "%s: %s",
auth_req_field_descr[n], "(empty)");
@@ -681,7 +681,7 @@ icqv5_decode_msgType(proto_tree* tree, tvbuff_t *tvb, int offset, int size,
if (sz != 0) {
proto_tree_add_text(subtree, tvb, offset, sz, "%s: %.*s",
user_added_field_descr[n], sz - 1,
- tvb_get_ptr(tvb, offset, sz));
+ tvb_get_ephemeral_string(tvb, offset, sz));
} else {
proto_tree_add_text(subtree, tvb, offset, 0, "%s: %s",
user_added_field_descr[n], "(empty)");
@@ -709,7 +709,7 @@ icqv5_decode_msgType(proto_tree* tree, tvbuff_t *tvb, int offset, int size,
/* The first element is the number of Nick/UIN pairs follow */
proto_tree_add_text(subtree, tvb, offset, sz_local,
"Number of pairs: %.*s", sz_local - 1,
- tvb_get_ptr(tvb, offset, sz_local));
+ tvb_get_ephemeral_string(tvb, offset, sz_local));
n_local++;
} else if (!last) {
int svsz = sz_local;
@@ -725,8 +725,8 @@ icqv5_decode_msgType(proto_tree* tree, tvbuff_t *tvb, int offset, int size,
}
proto_tree_add_text(subtree, tvb, offset, sz_local + svsz,
"%.*s: %.*s", svsz - 1,
- tvb_get_ptr(tvb, offset, svsz), sz_local - 1,
- tvb_get_ptr(tvb, sep_offset_prev + 1, sz_local));
+ tvb_get_ephemeral_string(tvb, offset, svsz), sz_local - 1,
+ tvb_get_ephemeral_string(tvb, sep_offset_prev + 1, sz_local));
n_local += 2;
}
@@ -863,7 +863,7 @@ icqv5_cmd_send_text_code(proto_tree* tree, /* Tree to put the data in */
if (tree){
proto_tree_add_text(subtree, tvb, offset + CMD_SEND_TEXT_CODE_TEXT,
len, "Text: %.*s", len,
- tvb_get_ptr(tvb, offset + CMD_SEND_TEXT_CODE_TEXT,
+ tvb_get_ephemeral_string(tvb, offset + CMD_SEND_TEXT_CODE_TEXT,
len));
}
}
@@ -947,7 +947,6 @@ icqv5_cmd_login(proto_tree* tree, tvbuff_t *tvb, int offset, int size)
char *aTime;
guint32 port;
guint32 passwdLen;
- const guchar *ipAddrp;
guint32 status;
if (tree) {
@@ -963,14 +962,11 @@ icqv5_cmd_login(proto_tree* tree, tvbuff_t *tvb, int offset, int size)
passwdLen = tvb_get_letohs(tvb, offset + CMD_LOGIN_PASSLEN);
proto_tree_add_text(subtree, tvb, offset + CMD_LOGIN_PASSLEN,
2 + passwdLen, "Passwd: %.*s", (int)passwdLen,
- tvb_get_ptr(tvb, offset + CMD_LOGIN_PASSWD,
+ tvb_get_ephemeral_string(tvb, offset + CMD_LOGIN_PASSWD,
passwdLen));
- ipAddrp = tvb_get_ptr(tvb,
- offset + CMD_LOGIN_PASSWD + passwdLen + CMD_LOGIN_IP,
- 4);
proto_tree_add_text(subtree, tvb,
offset + CMD_LOGIN_PASSWD + passwdLen + CMD_LOGIN_IP,
- 4, "IP: %s", ip_to_str(ipAddrp));
+ 4, "IP: %s", tvb_ip_to_str(tvb, offset + CMD_LOGIN_PASSWD + passwdLen + CMD_LOGIN_IP));
status = tvb_get_letohs(tvb,
offset + CMD_LOGIN_PASSWD + passwdLen + CMD_LOGIN_STATUS);
proto_tree_add_text(subtree, tvb,
@@ -1051,7 +1047,6 @@ icqv5_srv_login_reply(proto_tree* tree,/* Tree to put the data in */
{
proto_tree* subtree;
proto_item* ti;
- const guchar *ipAddrp;
if (tree) {
if (size < SRV_LOGIN_REPLY_IP + 8) {
@@ -1063,9 +1058,8 @@ icqv5_srv_login_reply(proto_tree* tree,/* Tree to put the data in */
ti = proto_tree_add_text(tree, tvb, offset, SRV_LOGIN_REPLY_IP + 8,
"Body");
subtree = proto_item_add_subtree(ti, ett_icq_body);
- ipAddrp = tvb_get_ptr(tvb, offset + SRV_LOGIN_REPLY_IP, 4);
proto_tree_add_text(subtree, tvb, offset + SRV_LOGIN_REPLY_IP, 4,
- "IP: %s", ip_to_str(ipAddrp));
+ "IP: %s", tvb_ip_to_str(tvb, offset + SRV_LOGIN_REPLY_IP));
}
}
@@ -1077,8 +1071,6 @@ icqv5_srv_user_online(proto_tree* tree,/* Tree to put the data in */
{
proto_tree* subtree;
proto_item* ti;
- const guchar *ipAddrp;
- const guchar *realipAddrp;
guint32 status;
if (tree) {
@@ -1094,15 +1086,13 @@ icqv5_srv_user_online(proto_tree* tree,/* Tree to put the data in */
proto_tree_add_text(subtree, tvb, offset + SRV_USER_ONL_UIN, 4,
"UIN: %u",
tvb_get_letohl(tvb, offset + SRV_USER_ONL_UIN));
- ipAddrp = tvb_get_ptr(tvb, offset + SRV_USER_ONL_IP, 4);
proto_tree_add_text(subtree, tvb, offset + SRV_USER_ONL_IP, 4,
- "IP: %s", ip_to_str(ipAddrp));
+ "IP: %s", tvb_ip_to_str(tvb, offset + SRV_USER_ONL_IP));
proto_tree_add_text(subtree, tvb, offset + SRV_USER_ONL_PORT, 4,
"Port: %u",
tvb_get_letohl(tvb, offset + SRV_USER_ONL_PORT));
- realipAddrp = tvb_get_ptr(tvb, offset + SRV_USER_ONL_REALIP, 4);
proto_tree_add_text(subtree, tvb, offset + SRV_USER_ONL_REALIP, 4,
- "RealIP: %s", ip_to_str(realipAddrp));
+ "RealIP: %s", tvb_ip_to_str(tvb, offset + SRV_USER_ONL_REALIP));
status = tvb_get_letohs(tvb, offset + SRV_USER_ONL_STATUS);
proto_tree_add_text(subtree, tvb, offset + SRV_USER_ONL_STATUS, 2,
"Status: %s", findStatus(status));
@@ -1283,7 +1273,7 @@ icqv5_srv_meta_user(proto_tree* tree, /* Tree to put the data in */
offset+=sizeof(guint16);left-=sizeof(guint16);
proto_tree_add_text(sstree, tvb, offset - sizeof(guint16),
sizeof(guint16)+len, "About(%d): %.*s", len,
- len, tvb_get_ptr(tvb, offset, len));
+ len, tvb_get_ephemeral_string(tvb, offset, len));
offset+=len;left-=len;
break;
}
@@ -1332,7 +1322,7 @@ icqv5_srv_meta_user(proto_tree* tree, /* Tree to put the data in */
proto_tree_add_text(sstree, tvb, offset - sizeof(guint16),
sizeof(guint16)+len, "%s(%d): %.*s",
*d, len, len - 1,
- tvb_get_ptr(tvb, offset, len - 1));
+ tvb_get_ephemeral_string(tvb, offset, len - 1));
offset+=len;left-=len;
}
d++;
@@ -1419,9 +1409,7 @@ icqv5_srv_rand_user(proto_tree* tree, /* Tree to put the data in */
proto_tree* subtree = NULL;
proto_item* ti = NULL;
guint32 uin;
- const unsigned char* IP = NULL;
guint32 port;
- const unsigned char* realIP = NULL;
guint8 commClass;
guint32 status;
guint16 tcpVer;
@@ -1435,18 +1423,16 @@ icqv5_srv_rand_user(proto_tree* tree, /* Tree to put the data in */
proto_tree_add_text(subtree, tvb, offset + SRV_RAND_USER_UIN,
sizeof(guint32), "UIN: %u", uin);
/* guint32 IP */
- IP = tvb_get_ptr(tvb, offset + SRV_RAND_USER_IP, 4);
proto_tree_add_text(subtree, tvb, offset + SRV_RAND_USER_IP,
- sizeof(guint32), "IP: %s", ip_to_str(IP));
+ sizeof(guint32), "IP: %s", tvb_ip_to_str(tvb, offset + SRV_RAND_USER_IP));
/* guint16 portNum */
/* XXX - 16 bits, or 32 bits? */
port = tvb_get_letohs(tvb, offset + SRV_RAND_USER_PORT);
proto_tree_add_text(subtree, tvb, offset + SRV_RAND_USER_UIN,
sizeof(guint32), "Port: %u", port);
/* guint32 realIP */
- realIP = tvb_get_ptr(tvb, offset + SRV_RAND_USER_REAL_IP, 4);
proto_tree_add_text(subtree, tvb, offset + SRV_RAND_USER_REAL_IP,
- sizeof(guint32), "RealIP: %s", ip_to_str(realIP));
+ sizeof(guint32), "RealIP: %s", tvb_ip_to_str(tvb, offset + SRV_RAND_USER_REAL_IP));
/* guint8 Communication Class */
commClass = tvb_get_guint8(tvb, offset + SRV_RAND_USER_CLASS);
proto_tree_add_text(subtree, tvb, offset + SRV_RAND_USER_CLASS,
diff --git a/epan/dissectors/packet-ismp.c b/epan/dissectors/packet-ismp.c
index ed2813d09e..8fe7936f81 100644
--- a/epan/dissectors/packet-ismp.c
+++ b/epan/dissectors/packet-ismp.c
@@ -461,7 +461,7 @@ dissect_ismp_edp(tvbuff_t *tvb, packet_info *pinfo, int offset, proto_tree *ismp
proto_tree_add_text(edp_tuples_leaf_tree, tvb, offset, tuple_length,
"Interface IPX_address = %s",
ipx_addr_to_str(tvb_get_ntohl(tvb, offset),
- tvb_get_ptr(tvb, offset+4, tuple_length-4)));
+ tvb_get_ephemeral_string(tvb, offset+4, tuple_length-4)));
break;
case EDP_TUPLE_UNKNOWN:
default: