tracing: Fix freeing of filter in create_filter() when set_str is false
[linux-2.6-microblaze.git] / kernel / trace / trace_events_filter.c
index 59a411f..181e139 100644 (file)
@@ -1959,6 +1959,10 @@ static int create_filter(struct trace_event_call *call,
                if (err && set_str)
                        append_filter_err(ps, filter);
        }
+       if (err && !set_str) {
+               free_event_filter(filter);
+               filter = NULL;
+       }
        create_filter_finish(ps);
 
        *filterp = filter;