wireshark/epan
Alexander Dahl eddfa0f146 dissectors: hartip: Fix command 77 decoding
Two things were broken with command 77 decoding:

1. There's an additional byte in the request, which is not present in
   the response, so the offsets where misplaced for all requests by one.

2. The embedded command (like all the other HART pass-through commands)
   distinguishes between long and short addresses, depending on the
   delimiter byte in front. When using that long address (which is the
   usual thing for all embedded commands except command 0) the remaining
   fields where also displaced.

Both points lead to obviously broken decoding due to misplaced offsets.

Fixes: 0ee1445ada ("Improve HART dissector")
Signed-off-by: Alexander Dahl <ada@thorsis.com>
Change-Id: I4355fe73b5164a4f03e522127ed487749279da65
Reviewed-on: https://code.wireshark.org/review/37411
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2020-06-12 06:03:29 +00:00
..
crypt dot11decrypt: Support decryption using TK user input 2020-06-01 07:23:56 +00:00
dfilter HTTPS In Even More Places, update some links. 2019-07-28 04:21:18 +00:00
dissectors dissectors: hartip: Fix command 77 decoding 2020-06-12 06:03:29 +00:00
ftypes Get rid of some unnecessary string operations 2019-10-08 22:10:25 +00:00
wmem wmem: Use better terminology. 2020-06-08 05:08:22 +00:00
wslua wslua: Update the ByteArray and Tvb docs. 2020-03-31 04:13:01 +00:00
.editorconfig HTTPS In Even More Places, update some links. 2019-07-28 04:21:18 +00:00
CMakeLists.txt Use symbolic values for Cisco's LLC PIDs 2020-01-10 23:36:33 +00:00
addr_and_mask.c epan: access a ws_in4_addr byte by byte. 2020-04-16 17:11:59 +00:00
addr_and_mask.h wsutil: use ws_in4_addr in tvb_get_ipv4_addr_with_prefix_len. 2020-04-14 08:31:11 +00:00
addr_resolv.c Edit Resolved Name: Don't add duplicate IPs 2020-02-24 07:45:00 +00:00
addr_resolv.h Edit Resolved Name: Don't add duplicate IPs 2020-02-24 07:45:00 +00:00
address.h HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
address_types.c ax25: Fix addresses with non-zero SSIDs 2019-11-03 13:15:49 +00:00
address_types.h HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
afn.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
afn.h HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
aftypes.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
aftypes.h
app_mem_usage.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
app_mem_usage.h
arcnet_pids.h
arptypes.h ARP: expand the set of ARPHRD_ definitions from both IANA and Linxu. 2020-05-09 12:08:54 +00:00
asn1.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
asn1.h
ax25_pids.h
bridged_pids.h
capture_dissectors.c Load environment vars to globals for efficency. 2019-09-04 12:31:53 +00:00
capture_dissectors.h
charsets.c HTTPS In Still More Places, update more URLs. 2019-07-27 22:56:35 +00:00
charsets.h HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
chdlctypes.h
cisco_pid.h Use symbolic values for Cisco's LLC PIDs 2020-01-10 23:36:33 +00:00
color_filters.c Fix some cppcheck issues: 2020-06-01 20:44:27 +00:00
color_filters.h HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
column-info.h
column-utils.c
column-utils.h
column.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
column.h
conv_id.h
conversation.c conversation: use wmem_new0 instead of memset. 2020-04-14 06:03:33 +00:00
conversation.h conversation.h: Whitespace fixes 2019-11-24 21:33:18 +00:00
conversation_debug.h conversation.c: do not use wmem packet scope for debug strings 2019-06-05 10:29:13 +00:00
conversation_filter.c epan: Rename dissector_filters.c to conversation_filter.c 2019-11-04 10:17:16 +00:00
conversation_filter.h epan: Rename dissector_filters.c to conversation_filter.c 2019-11-04 10:17:16 +00:00
conversation_table.c
conversation_table.h
crc6-tvb.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
crc6-tvb.h
crc8-tvb.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
crc8-tvb.h
crc10-tvb.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
crc10-tvb.h
crc16-tvb.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
crc16-tvb.h USBLL: Verify DATA packets CRC-16 2019-07-25 08:58:13 +00:00
crc32-tvb.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
crc32-tvb.h
decode_as.c register_decode_as_next_proto: remove the "title" parameter 2019-06-13 05:38:22 +00:00
decode_as.h decode_as: Update the documentation a bit. 2020-04-09 09:40:04 +00:00
diam_dict.h
diam_dict.l
disabled_protos.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
disabled_protos.h
dtd.h
dtd_grammar.lemon
dtd_parse.h
dtd_parse.l
dtd_preparse.l epan DTD parser: don't leak the full path string on error. 2020-05-02 22:18:58 +00:00
dvb_chartbl.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
dvb_chartbl.h HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
eap.h EAP: Add TEAP (Tunnel EAP) 2020-02-14 07:46:22 +00:00
eapol_keydes_types.h
epan.c Add c-ares to the required library list. 2019-11-23 22:45:59 +00:00
epan.h Load environment vars to globals for efficency. 2019-09-04 12:31:53 +00:00
epan_dissect.h HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
etypes.h LLDP: Add ONOS Ether Type (0x8942) 2020-01-30 08:25:51 +00:00
ex-opt.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
ex-opt.h
except.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
except.h HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
exceptions.h Stylistic consistency. 2020-04-09 22:16:02 +00:00
exntest.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
expert.c Load environment vars to globals for efficency. 2019-09-04 12:31:53 +00:00
expert.h expert.h: Reorder includes 2019-12-01 07:34:03 +00:00
export_object.c Fix memory leak in export_object.c 2020-05-02 21:41:09 +00:00
export_object.h
exported_pdu.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
exported_pdu.h
filter_expressions.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
filter_expressions.h Doxygen: Fix some warnings. 2019-07-11 11:03:00 +00:00
follow.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
follow.h QUIC: Add Follow QUIC Stream support to Qt and tshark 2019-10-04 04:36:09 +00:00
frame_data.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
frame_data.h HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
frame_data_sequence.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
frame_data_sequence.h
funnel.c funnel: Free callback data 2019-11-05 15:21:30 +00:00
funnel.h funnel: Free callback data 2019-11-05 15:21:30 +00:00
garrayfix.h
golay.c
golay.h
guid-utils.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
guid-utils.h
iana_charsets.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
iana_charsets.h
iax2_codec_type.h
in_cksum.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
in_cksum.h
ip_opts.h
ipproto.c
ipproto.h
ipv4.h
ipv6.h
lapd_sapi.h
llcsaps.h
maxmind_db.c HTTPS In Still More Places, update more URLs. 2019-07-27 22:56:35 +00:00
maxmind_db.h
media_params.c
media_params.h
next_tvb.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
next_tvb.h
nlpid.h
oids.c epan,packaging: convert http URLs to https 2019-07-20 20:50:59 +00:00
oids.h
oids_test.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
osi-utils.c
osi-utils.h
oui.h LLDP: Add ONOS TLV (Chassis, Port and TTL) 2020-01-29 14:17:39 +00:00
packet.c Note why we're getting the time stamp from the frame data structure. 2020-05-01 22:32:20 +00:00
packet.h sll: add support for LINKTYPE_LINUX_SLL2. 2020-05-09 03:14:50 +00:00
packet_info.h
params.h
plugin_if.c
plugin_if.h
ppptypes.h
prefs-int.h Protobuf: add dissecting protobuf fields as wireshark fields preferences, etc. 2019-12-19 05:04:17 +00:00
prefs.c prefs: plug a memory leak. 2020-05-03 00:06:57 +00:00
prefs.h Qt: Fix PacketListHeader column 2020-01-09 12:32:34 +00:00
print.c print: remove assert in get_field_data(). 2019-11-21 08:03:46 +00:00
print.h
print.ps
print_stream.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
print_stream.h
proto.c proto.c: check for proto_item_get_display_repr() 2020-06-06 14:51:22 +00:00
proto.h Clean up the encoding value definitions. 2020-04-28 06:05:52 +00:00
proto_data.c epan: Add p_[gs]et_proto_depth. 2020-04-15 04:09:08 +00:00
proto_data.h epan: Add p_[gs]et_proto_depth. 2020-04-15 04:09:08 +00:00
protobuf-helper.c Get rid of %debug, so protobuf_lang.y can be processed by Berkeley YACC. 2020-01-06 10:25:18 +00:00
protobuf-helper.h Protobuf: add dissecting protobuf fields as wireshark fields preferences, etc. 2019-12-19 05:04:17 +00:00
protobuf_lang.y bison/flex: comment why we ignore deprecated directive warning. 2020-04-30 07:57:39 +00:00
protobuf_lang_scanner.l Protobuf: Add show_details preferences. Fix two bugs. 2019-10-14 06:47:30 +00:00
protobuf_lang_tree.c Protobuf: add dissecting protobuf fields as wireshark fields preferences, etc. 2019-12-19 05:04:17 +00:00
protobuf_lang_tree.h Get rid of %debug, so protobuf_lang.y can be processed by Berkeley YACC. 2020-01-06 10:25:18 +00:00
ps.h
ptvcursor.h
radius_dict.l HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
range.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
range.h
reassemble.c epan: Reassembled in link is generated 2020-06-10 14:38:35 +00:00
reassemble.h Reassemble: Fix typo 2019-11-12 13:43:16 +00:00
reassemble_test.c Fix some cppcheck issues: 2020-06-01 20:44:27 +00:00
reedsolomon.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
reedsolomon.h
register-int.h HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
register.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
register.h HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
req_resp_hdrs.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
req_resp_hdrs.h
rtd_table.c
rtd_table.h
rtp_pt.h HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
sctpppids.h
secrets.c Fix UAT PKCS #11 Library handle leak 2020-01-15 04:52:04 +00:00
secrets.h
sequence_analysis.c
sequence_analysis.h
show_exception.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
show_exception.h
slow_protocol_subtypes.h
sminmpec.h added fastip (Boundary) enterprise ID 2020-04-03 06:50:15 +00:00
srt_table.c
srt_table.h
stat_groups.h
stat_tap_ui.c
stat_tap_ui.h
stats_tree.c WSUG: Add a Packet Lengths dialog section. 2020-01-03 16:37:08 +00:00
stats_tree.h HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
stats_tree_priv.h
stream.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
stream.h
strutil.c Add format_size_wmem 2019-12-02 05:01:16 +00:00
strutil.h Add format_size_wmem 2019-12-02 05:01:16 +00:00
t35.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
t35.h
tap-voip.h
tap.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
tap.h
tfs.c Document unit string and true false string helper functions 2020-04-29 10:07:51 +00:00
tfs.h Document unit string and true false string helper functions 2020-04-29 10:07:51 +00:00
time_fmt.h Add proto_tree_add_item_ret_time_string 2019-08-29 13:31:48 +00:00
timestamp.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
timestamp.h
timestats.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
timestats.h
to_str-int.h
to_str.c epan/to_str: change MAX_BYTE_STR_LEN from 48 to 72 2020-01-26 19:31:34 +00:00
to_str.h
tvbparse.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
tvbparse.h
tvbtest.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
tvbuff-int.h
tvbuff.c Clean up the encoding value definitions. 2020-04-28 06:05:52 +00:00
tvbuff.h Add string encoding values for various BCD encodings, and use them. 2020-04-27 01:53:09 +00:00
tvbuff_base64.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
tvbuff_brotli.c
tvbuff_composite.c composite_tvb: fix memory leak when tvb_composite_finalize is not called 2020-06-01 03:40:57 +00:00
tvbuff_lz77.c Note the Microsoft standard, fix the LZNT1 comment. 2019-08-04 01:09:47 +00:00
tvbuff_lz77huff.c TVB(LZ77+Huffman): return proper value on error (CID1451652) 2019-10-21 07:11:40 +00:00
tvbuff_lznt1.c Note the Microsoft standard, fix the LZNT1 comment. 2019-08-04 01:09:47 +00:00
tvbuff_real.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
tvbuff_subset.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
tvbuff_zlib.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
uat-int.h HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
uat.c
uat.h
uat_load.l
unit_strings.c Document unit string and true false string helper functions 2020-04-29 10:07:51 +00:00
unit_strings.h Document unit string and true false string helper functions 2020-04-29 10:07:51 +00:00
value_string.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
value_string.h HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
x264_prt_id.h
xdlc.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
xdlc.h Fix whitespace. 2019-07-15 08:02:20 +00:00