From f778e6feb016e72b446710d85cf4d8eea54da858 Mon Sep 17 00:00:00 2001 From: Tim Duesterhus Date: Fri, 3 Apr 2026 23:28:58 +0200 Subject: [PATCH] CLEANUP: stream: Explain the two-step initialization in `stream_generate_unique_id()` This two-step initialization of `strm->unique_id` looks like a refactoring target. Add a comment to prevent regressions of the fix in fb7b5c8a53cb4f19a223abd20660d47162aa8708. --- src/stream.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/stream.c b/src/stream.c index 40f9f75ae..0afa3059f 100644 --- a/src/stream.c +++ b/src/stream.c @@ -3102,6 +3102,9 @@ struct ist stream_generate_unique_id(struct stream *strm, struct lf_expr *format if ((unique_id = pool_alloc(pool_head_uniqueid)) == NULL) return IST_NULL; + /* Initialize ->unique_id to an empty string to prevent infinite + * recursion when the references %[unique-id] or %ID. + */ strm->unique_id = ist2(unique_id, 0); strm->unique_id.len = build_logline(strm, unique_id, UNIQUEID_LEN, format);