From: "Steven Rostedt (VMware)" <rostedt@xxxxxxxxxxx> If the filter is NULL and reset is set in update_filter(), the filter regex is not created, in which case it must not be freed, as the call to regfree() does not handle a case of an uninitialized regex. Fixes: 8f26581f ("libtracefs: Allow filter be NULL if RESET flag is set") Signed-off-by: Steven Rostedt (VMware) <rostedt@xxxxxxxxxxx> --- src/tracefs-tools.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/tracefs-tools.c b/src/tracefs-tools.c index 993fb3c..f202a15 100644 --- a/src/tracefs-tools.c +++ b/src/tracefs-tools.c @@ -816,7 +816,8 @@ static int update_filter(const char *filter_path, int *fd, } out_free: - regfree(&func_filter.re); + if (filter) + regfree(&func_filter.re); free_func_list(func_list); out: pthread_mutex_unlock(lock); -- 2.29.2