Wireshark-bugs: [Wireshark-bugs] [Bug 9120] Buildbot crash output: fuzz-2013-09-08-32595.pcap
Comment # 11
on bug 9120
from Anders Broman
(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.