Use tvb_memeql().
authormorriss <morriss@f5534014-38df-0310-8fa8-9805f1628bb7>
Sun, 16 Jan 2011 03:46:16 +0000 (03:46 +0000)
committermorriss <morriss@f5534014-38df-0310-8fa8-9805f1628bb7>
Sun, 16 Jan 2011 03:46:16 +0000 (03:46 +0000)
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@35547 f5534014-38df-0310-8fa8-9805f1628bb7

epan/dissectors/packet-afp.c
epan/dissectors/packet-atalk.c
epan/dissectors/packet-fmp.c
epan/dissectors/packet-hpsw.c
epan/dissectors/packet-icmpv6.c
epan/dissectors/packet-ieee80211.c
epan/dissectors/packet-isis-clv.c

index c8b9cd0e8b072da037c51e17e6a8add814f653aa..0699dd095edb14bc154d38e4a837d6766aba6858 100644 (file)
@@ -2474,7 +2474,7 @@ dissect_query_afp_login(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree,
        proto_tree_add_item(tree, hf_afp_AFPVersion, tvb, offset, 1,FALSE);
        offset += len +1;
        len_uam = tvb_get_guint8(tvb, offset);
-       uam = tvb_get_ptr(tvb, offset +1, len_uam);
+       uam = tvb_get_ephemeral_string(tvb, offset +1, len_uam);
        proto_tree_add_item(tree, hf_afp_UAM, tvb, offset, 1,FALSE);
        offset += len_uam +1;
 
@@ -2509,7 +2509,7 @@ dissect_query_afp_login_ext(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *t
        offset += len +1;
 
        len_uam = tvb_get_guint8(tvb, offset);
-       uam = tvb_get_ptr(tvb, offset +1, len_uam);
+       uam = tvb_get_ephemeral_string(tvb, offset +1, len_uam);
        proto_tree_add_item(tree, hf_afp_UAM, tvb, offset, 1,FALSE);
        offset += len_uam +1;
 
index cc4dbd6c0b91e85590f15b7b58f4954b2e49b161..3210fe306c3df63d335df6945acbdbe5d5052bf9 100644 (file)
@@ -981,7 +981,6 @@ dissect_asp_reply_get_status(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *
 
   proto_tree *adr_tree;
   char *tmp;
-  const guint8 *ip;
   guint16 net;
   guint8  node;
   guint16 port;
@@ -1108,13 +1107,12 @@ dissect_asp_reply_get_status(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *
       type =  tvb_get_guint8(tvb, ofs +1);
       switch (type) {
       case 1:   /* IP */
-        ip = tvb_get_ptr(tvb, ofs+2, 4);
-        ti = proto_tree_add_text(adr_tree, tvb, ofs, len, "ip %s", ip_to_str(ip));
+        ti = proto_tree_add_text(adr_tree, tvb, ofs, len, "ip %s", tvb_ip_to_str(tvb, ofs+2));
         break;
       case 2: /* IP + port */
-        ip = tvb_get_ptr(tvb, ofs+2, 4);
         port = tvb_get_ntohs(tvb, ofs+6);
-        ti = proto_tree_add_text(adr_tree, tvb, ofs, len, "ip %s:%u",ip_to_str(ip),port);
+        ti = proto_tree_add_text(adr_tree, tvb, ofs, len, "ip %s:%u",
+                                 tvb_ip_to_str(tvb, ofs+2), port);
         break;
       case 3: /* DDP, atalk_addr_to_str want host order not network */
         net  = tvb_get_ntohs(tvb, ofs+2);
@@ -1124,9 +1122,9 @@ dissect_asp_reply_get_status(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *
                                  net, node, port);
         break;
       case 5: /* IP + port ssh tunnel */
-        ip = tvb_get_ptr(tvb, ofs+2, 4);
         port = tvb_get_ntohs(tvb, ofs+6);
-        ti = proto_tree_add_text(adr_tree, tvb, ofs, len, "ip (ssh tunnel) %s:%u",ip_to_str(ip),port);
+        ti = proto_tree_add_text(adr_tree, tvb, ofs, len, "ip (ssh tunnel) %s:%u",
+                                 tvb_ip_to_str(tvb, ofs+2), port);
         break;
       case 4: /* DNS */
         if (len > 2) {
index 5679f3a715caf5bee5fe8ed079cdcc018858a583..f09c1f7fc5d0bc4a2254e3265b4dd9d1c249b23b 100644 (file)
@@ -430,15 +430,12 @@ dissect_fmp_extentListEx(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
 static int
 dissect_plugInID(tvbuff_t *tvb, int offset, proto_tree *tree)
 {
-       const guint8 *plugInID;
-
        if (!tree) {
                return offset;
        }
 
-       plugInID = tvb_get_ptr(tvb, offset, FMP_PLUG_IN_ID_SZ);
-       proto_tree_add_bytes(tree, hf_fmp_plugInID, tvb, offset, FMP_PLUG_IN_ID_SZ,
-                            plugInID);
+       proto_tree_add_item(tree, hf_fmp_plugInID, tvb, offset, FMP_PLUG_IN_ID_SZ,
+                           ENC_NA);
        return offset;
 }
 
index a6e3e7d33947213f3588afbe460e5e065872f841..d37392afb93171aefdd35a4fa6d6f32d00e56aeb 100644 (file)
@@ -173,9 +173,9 @@ dissect_hpsw_tlv(tvbuff_t *tvb, int offset, int length,
 
     case HPFOO_IP_ADDR:
         if (length == 4) {
-            const guint8 *ipptr=tvb_get_ptr(tvb,offset,length);
-            proto_item_set_text(ti, "IP Addr: %s", ip_to_str(ipptr));
-            proto_tree_add_text(tree, tvb, offset, length, "IP Addr: %s", ip_to_str(ipptr));
+           const char *ipstr = tvb_ip_to_str(tvb, offset);
+            proto_item_set_text(ti, "IP Addr: %s", ipstr);
+            proto_tree_add_text(tree, tvb, offset, length, "IP Addr: %s", ipstr);
         } else {
             proto_item_set_text(ti, "IP Addr: Bad length %u", length);
             proto_tree_add_text(tree, tvb, offset, length, "IP Addr: Bad length %u", length);
index 6c3f9e2b9fba51eadb84f82144d2405ecc54ec07..2adb04fbbb692979ae175a228e93384b744ef8ec 100644 (file)
@@ -2886,9 +2886,9 @@ dissect_icmpv6(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
 
                 for (i = 0; i < ha_num; i++) {
                     suboffset = 16 * i;
-                    proto_tree_add_ipv6(icmp6_tree, hf_icmpv6_haad_ha_addrs,
+                    proto_tree_add_item(icmp6_tree, hf_icmpv6_haad_ha_addrs,
                                         tvb, offset + 8 + suboffset, 16,
-                                        tvb_get_ptr(tvb, offset + 8 + suboffset, 16));
+                                        ENC_NA);
                 }
             }
             break;
index 9090b32faafce1c632acdb314e2f0e5421de8fbc..0c7b15496e0fd7738afcd1e55b0fa77442f2ec30 100644 (file)
@@ -6631,7 +6631,6 @@ add_tagged_field (packet_info * pinfo, proto_tree * tree, tvbuff_t * tvb, int of
           {
             guint8 regulatory_class, channel_number, measurement_mode, reporting_condition, threshold_offset;
             guint16 rand_interval, duration;
-            const guint8 *bssid = NULL;
 
             regulatory_class = tvb_get_guint8 (tvb, offset);
             proto_tree_add_uint_format(sub_tree, hf_tag_measure_request_regulatory_class, tvb, offset, 1, regulatory_class, "Regulatory Class: 0x%02X", regulatory_class);
@@ -6653,8 +6652,7 @@ add_tagged_field (packet_info * pinfo, proto_tree * tree, tvbuff_t * tvb, int of
             proto_tree_add_uint(sub_tree, hf_tag_measure_request_measurement_mode, tvb, offset, 1, measurement_mode);
 
             offset++;
-            bssid = tvb_get_ptr (tvb, offset, 6);
-            proto_tree_add_ether(sub_tree, hf_tag_measure_request_bssid, tvb, offset, 6, bssid);
+            proto_tree_add_item(sub_tree, hf_tag_measure_request_bssid, tvb, offset, 6, ENC_NA);
 
             offset+=6;
             reporting_condition = tvb_get_guint8 (tvb, offset);
@@ -6683,7 +6681,6 @@ add_tagged_field (packet_info * pinfo, proto_tree * tree, tvbuff_t * tvb, int of
           {
             guint8 regulatory_class, channel_number;
             guint16 rand_interval, duration;
-            const guint8 *mac = NULL;
 
             regulatory_class = tvb_get_guint8 (tvb, offset);
             proto_tree_add_uint_format(sub_tree, hf_tag_measure_request_regulatory_class, tvb, offset, 1, regulatory_class, "Regulatory Class: 0x%02X", regulatory_class);
@@ -6702,8 +6699,7 @@ add_tagged_field (packet_info * pinfo, proto_tree * tree, tvbuff_t * tvb, int of
 
             offset += 2;
             if (tag_len >= ((offset-tag_offset)+6)){
-              mac = tvb_get_ptr (tvb, offset, 6);
-              proto_tree_add_ether(sub_tree, hf_tag_measure_request_bssid, tvb, offset, 6, mac);
+              proto_tree_add_item(sub_tree, hf_tag_measure_request_bssid, tvb, offset, 6, ENC_NA);
             }
             break;
           }
@@ -6890,7 +6886,6 @@ add_tagged_field (packet_info * pinfo, proto_tree * tree, tvbuff_t * tvb, int of
             guint8 regulatory_class, reported_frame_info, rcpi, rsni, ant_id;
             guint32 parent_tsf;
             proto_tree *sub_tree_frame_info;
-            const guint8 *bssid = NULL;
 
             regulatory_class = tvb_get_guint8 (tvb, offset);
             proto_tree_add_uint(sub_tree, hf_tag_measure_report_regulatory_class, tvb, offset, 1, regulatory_class);
@@ -6923,8 +6918,7 @@ add_tagged_field (packet_info * pinfo, proto_tree * tree, tvbuff_t * tvb, int of
             proto_tree_add_uint_format(sub_tree, hf_tag_measure_report_rsni, tvb, offset, 1, rsni, "Received Signal to Noise Indicator (RSNI): 0x%02X dB", rsni);
 
             offset++;
-            bssid = tvb_get_ptr (tvb, offset, 6);
-            proto_tree_add_ether(sub_tree, hf_tag_measure_request_bssid, tvb, offset, 6, bssid);
+            proto_tree_add_item(sub_tree, hf_tag_measure_request_bssid, tvb, offset, 6, ENC_NA);
 
             offset+=6;
             ant_id = tvb_get_guint8 (tvb, offset);
@@ -7066,7 +7060,6 @@ add_tagged_field (packet_info * pinfo, proto_tree * tree, tvbuff_t * tvb, int of
       guint tag_offset;
       guint8 sub_tag_id;
       guint32 bssid_info, info, sub_tag_length;
-      const guint8 *bssid = NULL;
       proto_item *parent_item;
       proto_tree *bssid_info_subtree, *sub_tag_tree;
       tvbuff_t *volatile sub_tag_tvb = NULL;
@@ -7080,8 +7073,7 @@ add_tagged_field (packet_info * pinfo, proto_tree * tree, tvbuff_t * tvb, int of
       offset+=2;
       tag_offset = offset;
 
-      bssid = tvb_get_ptr (tvb, offset, 6);
-      proto_tree_add_ether(tree, hf_tag_neighbor_report_bssid, tvb, offset, 6, bssid);
+      proto_tree_add_item(tree, hf_tag_neighbor_report_bssid, tvb, offset, 6, ENC_NA);
 
       /*** Begin: BSSID Information ***/
       offset+=6;
@@ -7722,8 +7714,7 @@ dissect_ieee80211_common (tvbuff_t * tvb, packet_info * pinfo,
         hidden_item = proto_tree_add_ether (hdr_tree, hf_addr, tvb, 10, 6, src);
         PROTO_ITEM_SET_HIDDEN(hidden_item);
 
-        proto_tree_add_ether (hdr_tree, hf_addr_bssid, tvb, 16, 6,
-            tvb_get_ptr (tvb, 16, 6));
+        proto_tree_add_item (hdr_tree, hf_addr_bssid, tvb, 16, 6, ENC_NA);
 
         proto_tree_add_uint (hdr_tree, hf_frag_number, tvb, 22, 2,
             frag_number);
@@ -8118,10 +8109,8 @@ dissect_ieee80211_common (tvbuff_t * tvb, packet_info * pinfo,
             break;
 
           case DATA_ADDR_T4:
-            proto_tree_add_ether (hdr_tree, hf_addr_ra, tvb, 4, 6,
-                tvb_get_ptr (tvb, 4, 6));
-            proto_tree_add_ether (hdr_tree, hf_addr_ta, tvb, 10, 6,
-                tvb_get_ptr (tvb, 10, 6));
+            proto_tree_add_item (hdr_tree, hf_addr_ra, tvb, 4, 6, ENC_NA);
+            proto_tree_add_item (hdr_tree, hf_addr_ta, tvb, 10, 6, ENC_NA);
             proto_tree_add_ether (hdr_tree, hf_addr_da, tvb, 16, 6, dst);
             proto_tree_add_uint (hdr_tree, hf_frag_number, tvb, 22, 2,
                frag_number);
@@ -8152,7 +8141,6 @@ dissect_ieee80211_common (tvbuff_t * tvb, packet_info * pinfo,
         guint8 mesh_ttl;
         guint32 mesh_seq_number;
         guint8 mesh_hdr_len;
-        const guint8 *ptr;
 
         mshoff = hdr_len;
         mesh_flags = tvb_get_guint8(tvb, mshoff + 0);
@@ -8163,8 +8151,7 @@ dissect_ieee80211_common (tvbuff_t * tvb, packet_info * pinfo,
 #endif
           break;
         }
-        ptr = tvb_get_ptr(tvb, mshoff, 1);
-        mesh_hdr_len = find_mesh_header_length(ptr, 0, fcf);
+        mesh_hdr_len = find_mesh_header_length(tvb_get_ptr(tvb, mshoff, 1), 0, fcf);
         mesh_ttl = tvb_get_guint8(tvb, mshoff + 1);
         mesh_seq_number = 0xffffff & tvb_get_letohl(tvb, mshoff + 2);
 
@@ -8177,14 +8164,11 @@ dissect_ieee80211_common (tvbuff_t * tvb, packet_info * pinfo,
         proto_tree_add_uint (msh_tree, hf_mesh_seq, tvb, mshoff + 2, 4, mesh_seq_number);
         switch (mesh_hdr_len) {
           case 24:
-            ptr = tvb_get_ptr (tvb, mshoff + 18, 6);
-            proto_tree_add_ether(msh_tree, hf_mesh_ae3, tvb, mshoff + 18, 6, ptr);
+            proto_tree_add_item(msh_tree, hf_mesh_ae3, tvb, mshoff + 18, 6, ENC_NA);
           case 18:
-            ptr = tvb_get_ptr (tvb, mshoff + 12, 6);
-            proto_tree_add_ether(msh_tree, hf_mesh_ae2, tvb, mshoff + 12, 6, ptr);
+            proto_tree_add_item(msh_tree, hf_mesh_ae2, tvb, mshoff + 12, 6, ENC_NA);
           case 12:
-            ptr = tvb_get_ptr (tvb, mshoff + 6, 6);
-            proto_tree_add_ether(msh_tree, hf_mesh_ae1, tvb, mshoff + 6, 6, ptr);
+            proto_tree_add_item(msh_tree, hf_mesh_ae1, tvb, mshoff + 6, 6, ENC_NA);
           case 6:
             break;
           default:
@@ -9021,10 +9005,8 @@ dissect_ieee80211_common (tvbuff_t * tvb, packet_info * pinfo,
         octet1 = tvb_get_guint8(next_tvb, 0);
         octet2 = tvb_get_guint8(next_tvb, 1);
         if (octet1 != 0xaa || octet2 != 0xaa) {
-          src = tvb_get_ptr (next_tvb, 6, 6);
-          dst = tvb_get_ptr (next_tvb, 0, 6);
-          if (memcmp(src, pinfo->dl_src.data, 6) == 0 ||
-              memcmp(dst, pinfo->dl_dst.data, 6) == 0)
+          if (tvb_memeql(next_tvb, 6, pinfo->dl_src.data, 6) == 0 ||
+              tvb_memeql(next_tvb, 0, pinfo->dl_dst.data, 6) == 0)
             encap_type = ENCAP_ETHERNET;
           else if (octet1 == 0xff && octet2 == 0xff)
             encap_type = ENCAP_IPX;
index a60113447312924c2c8f140ea10770ced901e6e5..093b55ae94b8e8c2aed4339c1039353abf28c935 100644 (file)
@@ -211,7 +211,7 @@ isis_dissect_ip_authentication_clv(tvbuff_t *tvb, proto_tree *tree, int offset,
         if ( length != 0 ) {
                 proto_tree_add_text ( tree, tvb, offset, length,
                         "IP Authentication: %.*s", length,
-                        tvb_get_ptr(tvb, offset, length) );
+                        tvb_get_ephemeral_string(tvb, offset, length) );
         }
 }
 
@@ -245,7 +245,7 @@ isis_dissect_hostname_clv(tvbuff_t *tvb, proto_tree *tree, int offset,
                 proto_tree_add_text ( tree, tvb, offset, length,
                         "Hostname: --none--" );
         } else {
-               const char* value = tvb_get_ptr(tvb, offset, length);
+               const char* value = tvb_get_ephemeral_string(tvb, offset, length);
                 proto_tree_add_string_format ( tree, tree_id,
                        tvb, offset, length,
                         value, "Hostname: %.*s", length, value);