aboutsummaryrefslogtreecommitdiffstats
path: root/packet-dcerpc.h
diff options
context:
space:
mode:
authorRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2002-05-07 10:07:55 +0000
committerRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2002-05-07 10:07:55 +0000
commit04158638aec8457f54b9b55c4664df607769c344 (patch)
tree6057f4e9d0552649a116ddf7df8c7d212178c7e5 /packet-dcerpc.h
parentd471f94388a5dd1ca01e69520a9994c8b36df6ce (diff)
Added extra check in the function that parses NDR pointers.
When the representation for a pointer type gets dissected, the dissector is actually called twice. Once with conformant_run==1 and once ==0. The idea is that when conformant_run is ==1, the ONLY bytes that will be dissected and would be the array structure preceeding the actual data. And the normal data and content will be dissected when conformant_run ==0. This is to handle the case properly when conformant arrays are embedded inside aggregated types, in which case there will be other data inserted between these array control data, and the array content. The check that is added will assert that no other data is actually eaten for conformant_run==1 than just this data. This will help debugging dcerpc dissectors. svn path=/trunk/; revision=5412
Diffstat (limited to 'packet-dcerpc.h')
-rw-r--r--packet-dcerpc.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/packet-dcerpc.h b/packet-dcerpc.h
index 2b4b0c7689..eae6994cda 100644
--- a/packet-dcerpc.h
+++ b/packet-dcerpc.h
@@ -1,7 +1,7 @@
/* packet-dcerpc.h
* Copyright 2001, Todd Sabin <tas@webspan.net>
*
- * $Id: packet-dcerpc.h,v 1.13 2002/04/22 09:43:03 guy Exp $
+ * $Id: packet-dcerpc.h,v 1.14 2002/05/07 10:07:55 sahlberg Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -199,6 +199,7 @@ typedef struct _dcerpc_info {
guint16 smb_fid; /* FID for DCERPC over SMB */
gboolean request;
gboolean conformant_run;
+ gint32 conformant_eaten; /* how many bytes did the conformant run eat?*/
guint32 array_max_count; /* max_count for conformant arrays */
guint32 array_max_count_offset;
guint32 array_offset;