From 7469faba5e8b08e91ba10379791b14835000655b Mon Sep 17 00:00:00 2001 From: desolat Date: Tue, 11 Nov 2014 00:46:05 +0100 Subject: [PATCH] BACAPP: fix dissection of event parameters for event notifications of Event_Type Change_of_Status_Flags Implementation for this event parameter type was missing Bug: 9626 Change-Id: Iea0bc819858bbf5660d97cfd0c418a963ac149fb Reviewed-on: https://code.wireshark.org/review/5228 Reviewed-by: Michael Mann Petri-Dish: Michael Mann Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman --- epan/dissectors/packet-bacapp.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/epan/dissectors/packet-bacapp.c b/epan/dissectors/packet-bacapp.c index 398e02e9d3..af7f295548 100644 --- a/epan/dissectors/packet-bacapp.c +++ b/epan/dissectors/packet-bacapp.c @@ -8090,6 +8090,26 @@ fNotificationParameters(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gui } break; case 18: /* change-of-status-flags */ + while (tvb_reported_length_remaining(tvb, offset) > 0) { + /* exit loop if nothing happens inside */ + lastoffset = offset; + switch (fTagNo(tvb, offset)) { + case 0: + offset += fTagHeaderTree(tvb, pinfo, subtree, offset, &tag_no, &tag_info, &lvt); + offset = fApplicationTypesEnumerated(tvb, pinfo, subtree, offset, + "present-value: ", BACnetStatusFlags); + offset += fTagHeaderTree(tvb, pinfo, subtree, offset, &tag_no, &tag_info, &lvt); + break; + case 1: + offset = fBitStringTagVS(tvb, pinfo, subtree, offset, + "referenced-flags: ", BACnetStatusFlags); + lastoffset = offset; + break; + default: + break; + } + if (offset == lastoffset) break; /* nothing happened, exit loop */ + } break; /* todo: add new parameters here ... */ default: