Thread (97 messages) 97 messages, 5 authors, 2024-11-05

Re: [PATCH 10/21] trailer: fix leaking trailer values

From: Patrick Steinhardt <hidden>
Date: 2024-10-21 08:45:02

On Fri, Oct 18, 2024 at 02:03:26PM +0200, Toon Claes wrote:
Patrick Steinhardt [off-list ref] writes:
quoted
Fix leaking trailer values when replacing the value with a command or
when the token value is empty.

Signed-off-by: Patrick Steinhardt <redacted>
---
diff --git a/trailer.c b/trailer.c
index 682d74505bf..5c0bfb735a9 100644
--- a/trailer.c
+++ b/trailer.c
@@ -1124,7 +1131,7 @@ void format_trailers(const struct process_trailer_options *opts,
 			 * corresponding value).
 			 */
 			if (opts->trim_empty && !strlen(item->value))
-				continue;
+				goto next;
While this is technically correct, I found it rather hard to understand
what's happening. What do you think about instead turning the `if` below
in an `else if` ?
An even better idea is to lift the buffers outside of the loop. Like this
we don't have to reallocate them on every iteration and can easily
release them once at the end of the function.

Patrick
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help