Ethereal-dev: Re: [Ethereal-dev] Crash in packet-dcerpc-epm code. Pcap file inclosed to demons

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Guy Harris <guy@xxxxxxxxxx>
Date: Tue, 22 Oct 2002 17:47:24 -0700
On Tue, Oct 22, 2002 at 02:30:34PM -0700, Jaime Fournier wrote:
> The tethereal I have from the latest code dies at the
> 4th packet.

The problem is that some code in "epm_dissect_ept_entry_t()" was
assuming that a protocol tree was being built, and dereferenced a null
pointer if it wasn't.

Here's a patch, which I'll be checking in.
Index: packet-dcerpc-epm.c
===================================================================
RCS file: /usr/local/cvsroot/ethereal/packet-dcerpc-epm.c,v
retrieving revision 1.15
diff -c -r1.15 packet-dcerpc-epm.c
*** packet-dcerpc-epm.c	21 Oct 2002 18:07:20 -0000	1.15
--- packet-dcerpc-epm.c	23 Oct 2002 00:45:49 -0000
***************
*** 185,192 ****
      offset += len;
  
      if(str&&str[0]){
!         proto_item_append_text(tree, " Service:%*s ", strlen, str);
!         proto_item_append_text(tree->parent, " Service:%*s ", strlen, str);
          if (check_col(pinfo->cinfo, COL_INFO)) {
              col_append_fstr(pinfo->cinfo, COL_INFO, ", Service:%*s", strlen, str);
          }
--- 185,194 ----
      offset += len;
  
      if(str&&str[0]){
!         if(parent_tree) {
!             proto_item_append_text(item, " Service:%*s ", strlen, str);
!             proto_item_append_text(item->parent, " Service:%*s ", strlen, str);
!         }
          if (check_col(pinfo->cinfo, COL_INFO)) {
              col_append_fstr(pinfo->cinfo, COL_INFO, ", Service:%*s", strlen, str);
          }