Re: [PATCH v2 1/3] load_branch_decorations: fix memory leak with non-static filters
From: Eric Sunshine <hidden>
Date: 2024-10-05 03:43:23
On Fri, Oct 4, 2024 at 7:22 PM Nicolas Guichard via GitGitGadget [off-list ref] wrote:
load_branch_decorations calls normalize_glob_ref on each string of filter's string_lists. This effectively replaces the potentially non-owning char* of those items with an owning char*. Set the strdup_string flag on those string_lists. This was not caught until now because: - when passing string_lists already with the strdup_string already set, the behaviour was correct - when passing static string_lists, the new char* remain reachable until program exit Signed-off-by: Nicolas Guichard <redacted>
Not a proper review; just a couple style nits below...
quoted hunk ↗ jump to hunk
diff --git a/log-tree.c b/log-tree.c@@ -232,6 +232,11 @@ void load_ref_decorations(struct decoration_filter *filter, int flags) + // normalize_glob_ref duplicates the strings + filter->exclude_ref_pattern->strdup_strings = true; + filter->include_ref_pattern->strdup_strings = true; + filter->exclude_ref_config_pattern->strdup_strings = true;
For the sake of older platforms and older compilers, we're still avoiding certain modernisms on this project. Instead: * use /* ... */ style comments instead of // style * use 1 instead of `true` (and 0 instead of `false`)