ANNOUNCEMENT: Live Wireshark University & Allegro Packets online APAC Wireshark Training Session
July 17th, 2024 | 10:00am-11:55am SGT (UTC+8) | Online

Wireshark-bugs: [Wireshark-bugs] [Bug 9120] Buildbot crash output: fuzz-2013-09-08-32595.pcap

Date: Tue, 24 Sep 2013 13:35:52 +0000

Comment # 11 on bug 9120 from
(In reply to comment #10)
> (In reply to comment #9)
> > Note that the list is only populated if tree(or something like that) for
> > performance reasons(?)
> 
> Probably, strings are expensive.
>  
> > In epan/asn1.h asn1_ctx_t has a "signature"
> > 
> > #define ASN1_CTX_SIGNATURE 0x41435458  /* "ACTX" */
> > 
> > typedef struct _asn1_ctx_t {
> >   guint32 signature;
> > :
> > 
> > #define ROSE_CTX_SIGNATURE 0x524F5345  /* "ROSE" */
> > 
> > typedef struct _rose_ctx_t {
> >   guint32 signature;
> > :
> > 
> > Could something like that be used to ensure (assert)that the data is from
> > the right caller?
> 
> Ya, I was thinking of adding a stack of proto_id values that is maintained
> like (or instead of) layer_names even when !tree so that dissectors can do
> something like
> 
> if (pinfo->protocols[top] == proto_tcp) do stuff
> else if (pinfo->protocols[top] == proto_udp) do stuff

The dissector would the need to populate proto_xx I suppose and do
if (pinfo->protocols[top-1] I suppose as top would point to the current
dissector.

I was thinking of the struct that may be passed trough:
>the (relatively new) 'data' parameter to dissector_try_uint_new(), >call_dissector_only(), dissector_try_heuristic() and others.

As it might suffer from the same type of problem.


You are receiving this mail because:
  • You are watching all bug changes.