aboutsummaryrefslogtreecommitdiffstats
path: root/epan
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2019-03-23 12:05:22 -0700
committerGuy Harris <guy@alum.mit.edu>2019-03-23 19:35:42 +0000
commit80d96e91d248af40b50969702a0e5aafb7132376 (patch)
treee530549ee7dc8d7ae09b2b1d29b9312af5cd6ac2 /epan
parente7dc5924069e301698719719fb449f2a4229e7f3 (diff)
Restore pinfo->match_uint after the topmost dissector returns.
That's what dissector_try_uint_new() does, and some tests depend on it. Bug: 15630 Change-Id: I57934a5e90f83ee6ea0eb539a91826c950530ad3 Reviewed-on: https://code.wireshark.org/review/32542 Petri-Dish: Guy Harris <guy@alum.mit.edu> Tested-by: Petri Dish Buildbot Reviewed-by: Guy Harris <guy@alum.mit.edu>
Diffstat (limited to 'epan')
-rw-r--r--epan/dissectors/packet-frame.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/epan/dissectors/packet-frame.c b/epan/dissectors/packet-frame.c
index 091cbb4d78..1b83500774 100644
--- a/epan/dissectors/packet-frame.c
+++ b/epan/dissectors/packet-frame.c
@@ -618,11 +618,14 @@ dissect_frame(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void*
pinfo->rec->rec_header.packet_header.pkt_encap);
}
if (dissector_handle != NULL) {
+ guint32 save_match_uint = pinfo->match_uint;
+
pinfo->match_uint =
pinfo->rec->rec_header.packet_header.pkt_encap;
call_dissector_only(dissector_handle,
tvb, pinfo, parent_tree,
(void *)pinfo->pseudo_header);
+ pinfo->match_uint = save_match_uint;
} else {
col_set_str(pinfo->cinfo, COL_PROTOCOL, "UNKNOWN");
col_add_fstr(pinfo->cinfo, COL_INFO, "WTAP_ENCAP = %d",