Fix: use newly created event filter for condition check
[lttng-tools.git] / src / bin / lttng-sessiond / event.c
index b7b80d366c6ed60d9027ffcfd1e3320c60cc18d0..387b06fc5b10d04fdc9c1a283ea9bb93f39d6ff7 100644 (file)
@@ -512,17 +512,20 @@ int event_agent_enable(struct ltt_ust_session *usess,
                        ret = LTTNG_ERR_NOMEM;
                        goto error;
                }
-
+               filter = NULL;
+               filter_expression = NULL;
                created = 1;
        }
 
        /* Already enabled? */
        if (aevent->enabled) {
+               ret = LTTNG_OK;
                goto end;
        }
 
-       if (created && filter) {
-               ret = add_filter_app_ctx(filter, filter_expression, agt);
+       if (created && aevent->filter) {
+               ret = add_filter_app_ctx(
+                               aevent->filter, aevent->filter_expression, agt);
                if (ret != LTTNG_OK) {
                        goto error;
                }
@@ -538,13 +541,16 @@ int event_agent_enable(struct ltt_ust_session *usess,
                agent_add_event(aevent, agt);
        }
 
-end:
-       return LTTNG_OK;
+       ret = LTTNG_OK;
+       goto end;
 
 error:
        if (created) {
                agent_destroy_event(aevent);
        }
+end:
+       free(filter);
+       free(filter_expression);
        return ret;
 }
 
This page took 0.023832 seconds and 4 git commands to generate.