aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--asn1/rtse/packet-rtse-template.c10
-rw-r--r--epan/dissectors/packet-rtse.c14
2 files changed, 20 insertions, 4 deletions
diff --git a/asn1/rtse/packet-rtse-template.c b/asn1/rtse/packet-rtse-template.c
index dd55c7dd99..52be84cda6 100644
--- a/asn1/rtse/packet-rtse-template.c
+++ b/asn1/rtse/packet-rtse-template.c
@@ -190,6 +190,7 @@ dissect_rtse(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
int old_offset;
proto_item *item=NULL;
proto_tree *tree=NULL;
+ proto_tree *next_tree=NULL;
tvbuff_t *next_tvb = NULL;
tvbuff_t *data_tvb = NULL;
fragment_data *frag_msg = NULL;
@@ -285,7 +286,14 @@ dissect_rtse(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
old_offset=offset;
offset=dissect_rtse_RTSE_apdus(TRUE, tvb, offset, &asn1_ctx, tree, -1);
if(offset == old_offset){
- proto_tree_add_text(tree, tvb, offset, -1, "Internal error, zero-byte RTSE PDU");
+ item = proto_tree_add_text(tree, tvb, offset, -1, "Unknown RTSE PDU");
+
+ if(item){
+ expert_add_info_format (pinfo, item, PI_UNDECODED, PI_WARN, "Unknown RTSE PDU");
+ next_tree=proto_item_add_subtree(item, ett_rtse_unknown);
+ dissect_unknown_ber(pinfo, tvb, offset, next_tree);
+ }
+
offset = tvb_length(tvb);
break;
}
diff --git a/epan/dissectors/packet-rtse.c b/epan/dissectors/packet-rtse.c
index 5d9a40e356..b2778ae29f 100644
--- a/epan/dissectors/packet-rtse.c
+++ b/epan/dissectors/packet-rtse.c
@@ -700,6 +700,7 @@ dissect_rtse(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
int old_offset;
proto_item *item=NULL;
proto_tree *tree=NULL;
+ proto_tree *next_tree=NULL;
tvbuff_t *next_tvb = NULL;
tvbuff_t *data_tvb = NULL;
fragment_data *frag_msg = NULL;
@@ -795,7 +796,14 @@ dissect_rtse(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
old_offset=offset;
offset=dissect_rtse_RTSE_apdus(TRUE, tvb, offset, &asn1_ctx, tree, -1);
if(offset == old_offset){
- proto_tree_add_text(tree, tvb, offset, -1, "Internal error, zero-byte RTSE PDU");
+ item = proto_tree_add_text(tree, tvb, offset, -1, "Unknown RTSE PDU");
+
+ if(item){
+ expert_add_info_format (pinfo, item, PI_UNDECODED, PI_WARN, "Unknown RTSE PDU");
+ next_tree=proto_item_add_subtree(item, ett_rtse_unknown);
+ dissect_unknown_ber(pinfo, tvb, offset, next_tree);
+ }
+
offset = tvb_length(tvb);
break;
}
@@ -947,7 +955,7 @@ void proto_register_rtse(void) {
"rtse.T_octetString", HFILL }},
/*--- End of included file: packet-rtse-hfarr.c ---*/
-#line 340 "packet-rtse-template.c"
+#line 348 "packet-rtse-template.c"
};
/* List of subtrees */
@@ -969,7 +977,7 @@ void proto_register_rtse(void) {
&ett_rtse_CallingSSuserReference,
/*--- End of included file: packet-rtse-ettarr.c ---*/
-#line 349 "packet-rtse-template.c"
+#line 357 "packet-rtse-template.c"
};
module_t *rtse_module;