[lttng-dev] [PATCH lttng-tools] Fix: sessiond: ht_match_event(): check if filter is NULL
Philippe Proulx
eeppeliteloop at gmail.com
Sat Jun 18 15:00:18 UTC 2016
Oh, Janine hijacked my workstation again!
Philippe Proulx
On Fri, Jun 17, 2016 at 10:36 PM, Mathieu Desnoyers <
mathieu.desnoyers at efficios.com> wrote:
> Received: from jsutto (cable-192.222.213.99.electronicbox.net.
>
> host mtl.efficios.com
> mtl.efficios.com has address 192.222.213.99
>
> Nice try Phil. ;-)
>
> We'll need the actual contributor name to merge this contribution
> however. I'm pretty sure there is no Mrs. Sutto at EfficiOS.
>
> Thanks,
>
> Mathieu
>
> ----- On Jun 15, 2016, at 5:34 PM, Janine Sutto janinesutto at gmail.com
> wrote:
>
> > It looks like an agent event's filter expression is NULL when
> > it's created with -a, for example:
> >
> > lttng enable-event -j -a
> >
> > Since there's no check for this in ht_match_event(), strlen()
> > makes the session daemon segfault with this scenario:
> >
> > lttng create
> > lttng enable-event -j -a
> > lttng disable-event -j -a
> >
> > Signed-off-by: Janine Sutto <janinesutto at gmail.com>
> > ---
> > src/bin/lttng-sessiond/agent.c | 11 +++++++++--
> > 1 file changed, 9 insertions(+), 2 deletions(-)
> >
> > diff --git a/src/bin/lttng-sessiond/agent.c
> b/src/bin/lttng-sessiond/agent.c
> > index 8e1ef08..7cbbbde 100644
> > --- a/src/bin/lttng-sessiond/agent.c
> > +++ b/src/bin/lttng-sessiond/agent.c
> > @@ -143,11 +143,18 @@ static int ht_match_event(struct cds_lfht_node
> *node,
> > }
> >
> > /* Filter expression */
> > - if (strncmp(event->filter_expression, key->filter_expression,
> > - strlen(event->filter_expression)) != 0) {
> > + if (!!event->filter_expression ^ !!key->filter_expression) {
> > + /* One has a filter expression, the other does not */
> > goto no_match;
> > }
> >
> > + if (event->filter_expression) {
> > + if (strncmp(event->filter_expression,
> key->filter_expression,
> > + strlen(event->filter_expression)) != 0) {
> > + goto no_match;
> > + }
> > + }
> > +
> > return 1;
> >
> > no_match:
> > --
> > 2.8.3
> >
> > _______________________________________________
> > lttng-dev mailing list
> > lttng-dev at lists.lttng.org
> > https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
>
> --
> Mathieu Desnoyers
> EfficiOS Inc.
> http://www.efficios.com
> _______________________________________________
> lttng-dev mailing list
> lttng-dev at lists.lttng.org
> https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.lttng.org/pipermail/lttng-dev/attachments/20160618/eff44f76/attachment.html>
More information about the lttng-dev
mailing list