On 02/06/2013 01:08 PM, Ilya Shvetsov wrote:
> Hi, there.
>  
> Thank you guys for greate product.
>  
> I successuly wrote my dissector and few days ago found failure in it.
>  
> I have next situatioin:
> I dissect last packet in some sequence and get new tvbuffer from
> 
> process_reassembled_data
> 
> Next step i do is parsing of this new tvbuffer.
> I parse it and add new items to tree under my protocol item.
>  
> And this is a place where problem is.
> I parse new tvbuff from begin, this means that offset is ZERO,
> tvbuff it self has raw_offset == -1
>  
> When I parse, i do not know a length of element, so i add item to tree and 
> later
> call
> 
> proto_item_set_end
> 
> to set end of element in data buffer. if element, which i have read, has quite
> big size, then all works fine. if it has small size, then i get assert from
> proto_item_set_end.
>  
> It's turned out that every item in tree has 'finfo', which contains filed
> 'start'. For me this start is usually 28. if my first item in reassebled 
> tvbuff
> is less then 28, i get assert.
>  
> As I can see, the problem happens because all items in tree has 'finfo' field
> from parent (not reassebled) tvbuff.
>  
> So, what i have to do to fix this? how to add items from new tvbuff correctly 
> ?
>  
> I use wireshark 1.8.5 on Windows 7
> --
> With best regards
> Ilya 'Akhil' Shvetsov
> 

Hi,

Try calling proto_tree_set_visible(tree, TRUE); before you create the item you
want to call proto_item_set_end() on. See packet-jxta.c for example.

Thanks,
Jaap




___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev@wireshark.org>
Archives:    http://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-requ...@wireshark.org?subject=unsubscribe

Reply via email to