From 888ff933db9c7ea5393d6ef83cbb11b6de94ca5e Mon Sep 17 00:00:00 2001 From: Aki Tuomi Date: Fri, 23 May 2025 21:07:33 +0300 Subject: [PATCH] lib-master: Copy haproxy provided fields before calling callback Otherwise fields get lost, broken in 894610212596c35aade07a4d0af9d5e7fd6245c7 --- src/lib-master/master-service-haproxy.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/lib-master/master-service-haproxy.c b/src/lib-master/master-service-haproxy.c index d312b89e55..e5cf4254ea 100644 --- a/src/lib-master/master-service-haproxy.c +++ b/src/lib-master/master-service-haproxy.c @@ -139,6 +139,14 @@ master_service_haproxy_conn_success(struct master_service_haproxy_conn *hpconn) struct master_service *service = hpconn->service; struct master_service_connection conn = hpconn->conn; + /* copy values */ + conn.haproxy.cert_common_name = t_strdup(hpconn->conn.haproxy.cert_common_name); + if (hpconn->conn.haproxy.alpn_size > 0) + conn.haproxy.alpn = t_memdup(hpconn->conn.haproxy.alpn, hpconn->conn.haproxy.alpn_size); + else + conn.haproxy.alpn = NULL; + conn.haproxy.hostname = t_strdup(hpconn->conn.haproxy.hostname); + master_service_haproxy_conn_free(hpconn); master_service_client_connection_callback(service, &conn); } -- 2.47.3