If "dissect_dcerpc_cn()" throws an exception when called by
"dissect_dcerpc_cn_bs_body()", it's because it recognized the packet as a DCE RPC packet, but it ran out of data dissecting it as such; increment the count of DCE RPC PDUs, so "dissect_dcerpc_cn_bs_body()" returns TRUE, and its caller doesn't think nothing was dissected. Fuzzed with some DCE RPC captures. svn path=/trunk/; revision=16000
This commit is contained in:
parent
35cfa4c11c
commit
d77101151a
|
@ -4150,6 +4150,11 @@ dissect_dcerpc_cn_bs_body (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
|||
RETHROW;
|
||||
} CATCH(ReportedBoundsError) {
|
||||
show_reported_bounds_error(tvb, pinfo, tree);
|
||||
/*
|
||||
* Presumably it looked enough like a DCE RPC PDU that we
|
||||
* dissected enough of it to throw an exception.
|
||||
*/
|
||||
dcerpc_pdus++;
|
||||
} ENDTRY;
|
||||
|
||||
if (!dcerpc_pdus) {
|
||||
|
|
Loading…
Reference in New Issue