Wireshark-commits: [Wireshark-commits] rev 30208: /trunk/epan/dissectors/ /trunk/epan/dissectors/:
Date: Wed, 30 Sep 2009 07:53:16 GMT
http://anonsvn.wireshark.org/viewvc/viewvc.cgi?view=rev&revision=30208

User: sahlberg
Date: 2009/09/30 12:53 AM

Log:
 The dcerpc dissectors used to walk the list of items upward parent by 
 parent in order to push teh display of extra interesting fields in the 
 packet to higher up in the decode tree. This was useful for making sure 
 that things like DomainNames etc are clearly visible without having to 
 drill down 500 layers of NDR.
 
 This code used to just blindly walk the indicated number of parents, and 
 then attach the string to that item.
 This relied on the "unsafe" assumption that the topmost item would have 
 pointer point to itself, so this was "safe".
 
 This is no longer safe since the root object in the tree now has NULL as 
 parent, and thus some of these dcerpc interfaces can now cause a SEGV 
 trying to dereference NULL->parent.
 
 
 I added a macro to safely walk to the parent object, or remain at the 
 current object if parent is NULL.
 
 
 
 This was a serious bug, where dcerpc traffic could cause a SEGV.
 Please merge into all stable versions.

Directory: /trunk/epan/dissectors/
  Changes    Path                  Action
  +20 -13    packet-dcerpc-nt.c    Modified