aboutsummaryrefslogtreecommitdiffstats
path: root/packet-dcerpc.c
diff options
context:
space:
mode:
authorsahlberg <sahlberg@f5534014-38df-0310-8fa8-9805f1628bb7>2003-11-06 07:44:13 +0000
committersahlberg <sahlberg@f5534014-38df-0310-8fa8-9805f1628bb7>2003-11-06 07:44:13 +0000
commite707cc71157d7102668c05f1123463516652f642 (patch)
tree848b5c6867dc6ad04c149e8843583cfaf17a4ea3 /packet-dcerpc.c
parentfbcbc7287fa6cc84f40f1220426f4ee7b0a1679f (diff)
Bugfix for dcerpc parsing of encrypted short packets.
Sometimes if we cant decrypt a DCERPC packet decrypted_tvb is NULL. do not pass a NULL pointer to show_stub_data() since this will dump core. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@8890 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'packet-dcerpc.c')
-rw-r--r--packet-dcerpc.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/packet-dcerpc.c b/packet-dcerpc.c
index 9517fcaf13..fc280ec789 100644
--- a/packet-dcerpc.c
+++ b/packet-dcerpc.c
@@ -3,7 +3,7 @@
* Copyright 2001, Todd Sabin <tas@webspan.net>
* Copyright 2003, Tim Potter <tpot@samba.org>
*
- * $Id: packet-dcerpc.c,v 1.150 2003/10/23 07:14:21 guy Exp $
+ * $Id: packet-dcerpc.c,v 1.151 2003/11/06 07:44:13 sahlberg Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -1936,7 +1936,11 @@ dcerpc_try_handoff (packet_info *pinfo, proto_tree *tree,
pinfo->private_data = saved_private_data;
} else {
/* No subdissector - show it as *decrypted* stub data. */
- show_stub_data (decrypted_tvb, 0, sub_tree, auth_info, FALSE);
+ if(decrypted_tvb){
+ show_stub_data (decrypted_tvb, 0, tree, auth_info, FALSE);
+ } else {
+ show_stub_data (tvb, 0, tree, auth_info, TRUE);
+ }
}
} else
show_stub_data (tvb, 0, sub_tree, auth_info, TRUE);
@@ -2642,7 +2646,11 @@ end_cn_stub:
" [DCE/RPC %s fragment]", fragment_type(hdr->flags));
}
- show_stub_data (decrypted_tvb, 0, tree, auth_info, FALSE);
+ if(decrypted_tvb){
+ show_stub_data (decrypted_tvb, 0, tree, auth_info, FALSE);
+ } else {
+ show_stub_data (payload_tvb, 0, tree, auth_info, TRUE);
+ }
}
pinfo->fragmented = save_fragmented;