Thread (15 messages) 15 messages, 3 authors, 2024-10-09

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`)
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help