From b550f9e532a8ce6e6c6001f87e1b404483fbc89c Mon Sep 17 00:00:00 2001 From: Joshua Rogers Date: Mon, 8 Sep 2025 05:06:43 +0000 Subject: [PATCH] Fix memory leak when parsing deprecated %rG logformat code (#2187) Also terminate the tables for ProxyProtocol and TableTransport %codes. --- src/format/Token.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/format/Token.cc b/src/format/Token.cc index 0b569c2430..e044d421e7 100644 --- a/src/format/Token.cc +++ b/src/format/Token.cc @@ -183,10 +183,12 @@ static TokenTableEntry TokenTableMisc[] = { static TokenTableEntry TokenTableProxyProtocol[] = { TokenTableEntry(">h", LFT_PROXY_PROTOCOL_RECEIVED_HEADER), + TokenTableEntry(nullptr, LFT_NONE) /* this must be last */ }; static TokenTableEntry TokenTableTransport[] = { TokenTableEntry(">connection_id", LFT_TRANSPORT_CLIENT_CONNECTION_ID), + TokenTableEntry(nullptr, LFT_NONE) /* this must be last */ }; #if USE_ADAPTATION @@ -724,7 +726,8 @@ Format::Token::parse(const char *def, Quoting *quoting) case LFT_REQUEST_URLGROUP_OLD_2X: debugs(46, DBG_PARSE_NOTE(DBG_IMPORTANT), "WARNING: The \"rG\" formatting code is deprecated. Use \"note{urlgroup}\" instead."); type = LFT_NOTE; - data.header.header = xstrdup("urlgroup"); + data.string = xstrdup("urlgroup"); + data.header.header = data.string; break; default: -- 2.47.3