Ethereal-cvs: [Ethereal-cvs] cvs commit: ethereal packet-dcerpc.c packet-dcerpc.h
sahlberg 2002/05/07 05:07:56 CDT
Modified files:
. packet-dcerpc.c packet-dcerpc.h
Log:
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.
Revision Changes Path
1.48 +58 -1 ethereal/packet-dcerpc.c
1.14 +2 -1 ethereal/packet-dcerpc.h