X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=liblttng-ust%2Flttng-events.c;h=664f8b5d05c6f82a1bb55e1a085ee6c9b4e6479f;hb=ab89263ef2f50399e608e74557900aa0a3165a61;hp=fbebc338c6f0b7e49760ff6d6f4dc556f009bd36;hpb=e9fe6aad66010614f987e917866837706d19053b;p=deliverable%2Flttng-ust.git diff --git a/liblttng-ust/lttng-events.c b/liblttng-ust/lttng-events.c index fbebc338..664f8b5d 100644 --- a/liblttng-ust/lttng-events.c +++ b/liblttng-ust/lttng-events.c @@ -1456,14 +1456,16 @@ int lttng_event_enabler_disable(struct lttng_event_enabler *event_enabler) static void _lttng_enabler_attach_filter_bytecode(struct lttng_enabler *enabler, - struct lttng_ust_bytecode_node *bytecode) + struct lttng_ust_bytecode_node **bytecode) { - bytecode->enabler = enabler; - cds_list_add_tail(&bytecode->node, &enabler->filter_bytecode_head); + (*bytecode)->enabler = enabler; + cds_list_add_tail(&(*bytecode)->node, &enabler->filter_bytecode_head); + /* Take ownership of bytecode */ + *bytecode = NULL; } int lttng_event_enabler_attach_filter_bytecode(struct lttng_event_enabler *event_enabler, - struct lttng_ust_bytecode_node *bytecode) + struct lttng_ust_bytecode_node **bytecode) { _lttng_enabler_attach_filter_bytecode( lttng_event_enabler_as_enabler(event_enabler), bytecode); @@ -1512,7 +1514,7 @@ int lttng_event_notifier_enabler_disable( int lttng_event_notifier_enabler_attach_filter_bytecode( struct lttng_event_notifier_enabler *event_notifier_enabler, - struct lttng_ust_bytecode_node *bytecode) + struct lttng_ust_bytecode_node **bytecode) { _lttng_enabler_attach_filter_bytecode( lttng_event_notifier_enabler_as_enabler(event_notifier_enabler),