aboutsummaryrefslogtreecommitdiffstats
path: root/epan
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2015-11-04 23:28:57 +0100
committerMichael Mann <mmann78@netscape.net>2015-11-05 02:01:23 +0000
commitea0e29f3e6c7dd863020e80b4b52fe1519f49930 (patch)
treefc4a60b201925e127d74bdaca2577d1405574620 /epan
parentca69e8e3f0733eae89adb1534fa44563619864d2 (diff)
packet-dcerpc: fix dissecting of decrypted payload
This fixes a regression in commit e0e574d16748313dd8903f886d1af9eb0821fee7. Change-Id: Iccdeeb488ec70727fc637ca548637e5a5e54ef1c Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-on: https://code.wireshark.org/review/11573 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'epan')
-rw-r--r--epan/dissectors/packet-dcerpc.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/epan/dissectors/packet-dcerpc.c b/epan/dissectors/packet-dcerpc.c
index dd4457956a..149e378c52 100644
--- a/epan/dissectors/packet-dcerpc.c
+++ b/epan/dissectors/packet-dcerpc.c
@@ -1411,7 +1411,7 @@ dissect_dcerpc_guid(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *d
}
} /* tree */
- if (dissector_data->decrypted || (sub_dissect == NULL))
+ if (!dissector_data->decrypted || (sub_dissect == NULL))
{
show_stub_data(tvb, 0, sub_tree, dissector_data->auth_info, !dissector_data->decrypted);
return tvb_captured_length(tvb);
@@ -3819,7 +3819,6 @@ dissect_dcerpc_cn_stub(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_item *pi;
proto_item *parent_pi;
proto_item *dcerpc_tree_item;
- gboolean decrypted = FALSE;
save_fragmented = pinfo->fragmented;
@@ -3876,7 +3875,6 @@ dissect_dcerpc_cn_stub(tvbuff_t *tvb, int offset, packet_info *pinfo,
hdr->ptype == PDU_REQ, auth_info);
if (result) {
- decrypted = TRUE;
proto_tree_add_item(dcerpc_tree, hf_dcerpc_encrypted_stub_data, payload_tvb, 0, -1, ENC_NA);
add_new_data_source(
@@ -3893,7 +3891,9 @@ dissect_dcerpc_cn_stub(tvbuff_t *tvb, int offset, packet_info *pinfo,
if (PFC_NOT_FRAGMENTED(hdr)) {
pinfo->fragmented = FALSE;
- dcerpc_try_handoff(pinfo, tree, dcerpc_tree, ((decrypted_tvb != NULL) ? decrypted_tvb : payload_tvb), decrypted,
+ dcerpc_try_handoff(pinfo, tree, dcerpc_tree,
+ ((decrypted_tvb != NULL) ? decrypted_tvb : payload_tvb),
+ ((decrypted_tvb != NULL) ? TRUE : FALSE),
hdr->drep, di, auth_info);
pinfo->fragmented = save_fragmented;
@@ -3915,7 +3915,9 @@ dissect_dcerpc_cn_stub(tvbuff_t *tvb, int offset, packet_info *pinfo,
*/
if ( (!dcerpc_reassemble) && (hdr->flags & PFC_FIRST_FRAG) ) {
- dcerpc_try_handoff(pinfo, tree, dcerpc_tree, ((decrypted_tvb != NULL) ? decrypted_tvb : payload_tvb), decrypted,
+ dcerpc_try_handoff(pinfo, tree, dcerpc_tree,
+ ((decrypted_tvb != NULL) ? decrypted_tvb : payload_tvb),
+ ((decrypted_tvb != NULL) ? TRUE : FALSE),
hdr->drep, di, auth_info);
expert_add_info_format(pinfo, NULL, &ei_dcerpc_fragment, "%s fragment", fragment_type(hdr->flags));