From 96f4f1537cf01bf1e9b4c4b1fcb5f4f6d73ab517 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Wed, 18 Mar 2026 21:26:42 -1000 Subject: [PATCH] [packet_transport] Add safety comments for [&sensor] capture lifetime --- esphome/components/packet_transport/packet_transport.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/esphome/components/packet_transport/packet_transport.cpp b/esphome/components/packet_transport/packet_transport.cpp index 3f6e60b86f8..afe5300dd55 100644 --- a/esphome/components/packet_transport/packet_transport.cpp +++ b/esphome/components/packet_transport/packet_transport.cpp @@ -221,6 +221,8 @@ void PacketTransport::setup() { } #ifdef USE_SENSOR for (auto &sensor : this->sensors_) { + // [&sensor] is safe: sensor refers to a vector element that is never modified after setup(), + // so the reference remains valid for the component's lifetime. sensor.sensor->add_on_state_callback([&sensor](float x) { sensor.parent->updated_ = true; sensor.updated = true; @@ -229,6 +231,8 @@ void PacketTransport::setup() { #endif #ifdef USE_BINARY_SENSOR for (auto &sensor : this->binary_sensors_) { + // [&sensor] is safe: sensor refers to a vector element that is never modified after setup(), + // so the reference remains valid for the component's lifetime. sensor.sensor->add_on_state_callback([&sensor](bool value) { sensor.parent->updated_ = true; sensor.updated = true;