From f78d7d4efc3bd7b79c059b8a0fb4345123ddbfa5 Mon Sep 17 00:00:00 2001 From: Vitaliy Filippov Date: Mon, 11 May 2026 16:30:01 +0300 Subject: [PATCH] Do not capture client pointer in ping lambda --- src/client/messenger.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/client/messenger.cpp b/src/client/messenger.cpp index 2182a519..b4a0d84e 100644 --- a/src/client/messenger.cpp +++ b/src/client/messenger.cpp @@ -220,7 +220,7 @@ void osd_messenger_t::init() .opcode = OSD_OP_PING, }, }; - op->callback = [this, cl](osd_op_t *op) + op->callback = [this](osd_op_t *op) { auto cl_it = clients.find(op->client_id); if (cl_it == clients.end()) @@ -229,6 +229,7 @@ void osd_messenger_t::init() delete op; return; } + auto cl = cl_it->second; uint64_t fail_client_id = (op->reply.hdr.retval != 0 ? op->client_id : 0); auto fail_osd_num = cl->in_osd_num ? cl->in_osd_num : cl->osd_num; cl->ping_time_remaining = 0;