On Tue, Nov 04, 2003 at 11:31:24AM +0000, Gordon McKinney wrote:
> Looks like a null pointer. Reading the same trace file in 0.9.15 works,
Good - you still have the trace to test a fix, if you have a compiler
(which I infer you do, as you have the source and a detailed stack trace
- which helped in finding the problem).
Try applying the attached patch to "packet-dcerpc.c" and recompiling,
and see if that fixes the problem. (It's not Win32-specific.)
Index: packet-dcerpc.c
===================================================================
RCS file: /usr/local/cvsroot/ethereal/packet-dcerpc.c,v
retrieving revision 1.150
diff -c -r1.150 packet-dcerpc.c
*** packet-dcerpc.c 23 Oct 2003 07:14:21 -0000 1.150
--- packet-dcerpc.c 4 Nov 2003 18:25:50 -0000
***************
*** 2572,2577 ****
--- 2572,2583 ----
thus we must reassemble it.
*/
+ /* Do we have any non-encrypted data to reassemble? */
+ if (decrypted_tvb == NULL) {
+ /* No. We can't even try to reassemble. */
+ goto end_cn_stub;
+ }
+
/* if this is the first fragment we need to start reassembly
*/
if(hdr->flags&PFC_FIRST_FRAG){
***************
*** 2642,2648 ****
" [DCE/RPC %s fragment]", fragment_type(hdr->flags));
}
! show_stub_data (decrypted_tvb, 0, tree, auth_info, FALSE);
}
pinfo->fragmented = save_fragmented;
--- 2648,2657 ----
" [DCE/RPC %s fragment]", fragment_type(hdr->flags));
}
! if (decrypted_tvb != NULL)
! show_stub_data (decrypted_tvb, 0, tree, auth_info, FALSE);
! else
! show_stub_data (tvb, 0, tree, auth_info, TRUE);
}
pinfo->fragmented = save_fragmented;