From: Tim Duesterhus Date: Fri, 3 Apr 2026 21:28:58 +0000 (+0200) Subject: CLEANUP: stream: Explain the two-step initialization in `stream_generate_unique_id()` X-Git-Tag: v3.4-dev9~55 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=f778e6feb016e72b446710d85cf4d8eea54da858;p=thirdparty%2Fhaproxy.git 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. --- 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);