aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2020-07-01 12:57:18 +0200
committerAnders Broman <a.broman58@gmail.com>2020-07-01 11:35:29 +0000
commit217c0e65f10dd8677c640fd46d7be5af3e1af45f (patch)
tree84b7d8c356babaedee86016c2043be257802536f /epan/dissectors
parent18d29c7023fcad8a36778d09f0efc527557bdf15 (diff)
NGAP: Preserve column info when NGAP is embedded in HTTP2.
Fix regression due to different dissector function called. Change-Id: Ibf3bfc5ac1cb740e71afa89018d57808c418cdab Reviewed-on: https://code.wireshark.org/review/37638 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/dissectors')
-rw-r--r--epan/dissectors/asn1/ngap/packet-ngap-template.c3
-rw-r--r--epan/dissectors/packet-ngap.c9
2 files changed, 9 insertions, 3 deletions
diff --git a/epan/dissectors/asn1/ngap/packet-ngap-template.c b/epan/dissectors/asn1/ngap/packet-ngap-template.c
index d24885674e..8f2dc94412 100644
--- a/epan/dissectors/asn1/ngap/packet-ngap-template.c
+++ b/epan/dissectors/asn1/ngap/packet-ngap-template.c
@@ -556,7 +556,10 @@ dissect_ngap_media_type(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, voi
col_append_sep_str(pinfo->cinfo, COL_PROTOCOL, "/", "NGAP");
ngap_item = proto_tree_add_item(tree, proto_ngap, tvb, 0, -1, ENC_NA);
ngap_tree = proto_item_add_subtree(ngap_item, ett_ngap);
+ gboolean save_writable = col_get_writable(pinfo->cinfo, COL_PROTOCOL);
+ col_set_writable(pinfo->cinfo, COL_PROTOCOL, FALSE);
call_dissector_with_data(subdissector, tvb, pinfo, ngap_tree, NULL);
+ col_set_writable(pinfo->cinfo, COL_PROTOCOL, save_writable);
return tvb_captured_length(tvb);
} else {
return 0;
diff --git a/epan/dissectors/packet-ngap.c b/epan/dissectors/packet-ngap.c
index 973dcf95f8..3602d0e4a8 100644
--- a/epan/dissectors/packet-ngap.c
+++ b/epan/dissectors/packet-ngap.c
@@ -14726,7 +14726,10 @@ dissect_ngap_media_type(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, voi
col_append_sep_str(pinfo->cinfo, COL_PROTOCOL, "/", "NGAP");
ngap_item = proto_tree_add_item(tree, proto_ngap, tvb, 0, -1, ENC_NA);
ngap_tree = proto_item_add_subtree(ngap_item, ett_ngap);
+ gboolean save_writable = col_get_writable(pinfo->cinfo, COL_PROTOCOL);
+ col_set_writable(pinfo->cinfo, COL_PROTOCOL, FALSE);
call_dissector_with_data(subdissector, tvb, pinfo, ngap_tree, NULL);
+ col_set_writable(pinfo->cinfo, COL_PROTOCOL, save_writable);
return tvb_captured_length(tvb);
} else {
return 0;
@@ -15032,7 +15035,7 @@ proto_reg_handoff_ngap(void)
/*--- End of included file: packet-ngap-dis-tab.c ---*/
-#line 582 "./asn1/ngap/packet-ngap-template.c"
+#line 585 "./asn1/ngap/packet-ngap-template.c"
dissector_add_string("media_type", "application/vnd.3gpp.ngap", ngap_media_type_handle);
} else {
@@ -18165,7 +18168,7 @@ void proto_register_ngap(void) {
"UnsuccessfulOutcome_value", HFILL }},
/*--- End of included file: packet-ngap-hfarr.c ---*/
-#line 730 "./asn1/ngap/packet-ngap-template.c"
+#line 733 "./asn1/ngap/packet-ngap-template.c"
};
/* List of subtrees */
@@ -18636,7 +18639,7 @@ void proto_register_ngap(void) {
&ett_ngap_UnsuccessfulOutcome,
/*--- End of included file: packet-ngap-ettarr.c ---*/
-#line 761 "./asn1/ngap/packet-ngap-template.c"
+#line 764 "./asn1/ngap/packet-ngap-template.c"
};
static ei_register_info ei[] = {