diff options
author | Guy Harris <guy@alum.mit.edu> | 2019-03-23 12:05:22 -0700 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2019-03-23 19:35:42 +0000 |
commit | 80d96e91d248af40b50969702a0e5aafb7132376 (patch) | |
tree | e530549ee7dc8d7ae09b2b1d29b9312af5cd6ac2 /epan | |
parent | e7dc5924069e301698719719fb449f2a4229e7f3 (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.c | 3 |
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", |