|
@@ -1420,6 +1420,9 @@ int event_enable_trigger_func(struct event_command *cmd_ops,
|
|
|
goto out;
|
|
|
}
|
|
|
|
|
|
+ /* Up the trigger_data count to make sure nothing frees it on failure */
|
|
|
+ event_trigger_init(trigger_ops, trigger_data);
|
|
|
+
|
|
|
if (trigger) {
|
|
|
number = strsep(&trigger, ":");
|
|
|
|
|
@@ -1470,6 +1473,7 @@ int event_enable_trigger_func(struct event_command *cmd_ops,
|
|
|
goto out_disable;
|
|
|
/* Just return zero, not the number of enabled functions */
|
|
|
ret = 0;
|
|
|
+ event_trigger_free(trigger_ops, trigger_data);
|
|
|
out:
|
|
|
return ret;
|
|
|
|
|
@@ -1480,7 +1484,7 @@ int event_enable_trigger_func(struct event_command *cmd_ops,
|
|
|
out_free:
|
|
|
if (cmd_ops->set_filter)
|
|
|
cmd_ops->set_filter(NULL, trigger_data, NULL);
|
|
|
- kfree(trigger_data);
|
|
|
+ event_trigger_free(trigger_ops, trigger_data);
|
|
|
kfree(enable_data);
|
|
|
goto out;
|
|
|
}
|