diff --git a/esphome/components/dynamic_lamp/dynamic_lamp.cpp b/esphome/components/dynamic_lamp/dynamic_lamp.cpp index 85cb980409..e6319ef7c8 100644 --- a/esphome/components/dynamic_lamp/dynamic_lamp.cpp +++ b/esphome/components/dynamic_lamp/dynamic_lamp.cpp @@ -137,7 +137,7 @@ void DynamicLampComponent::add_available_output(output::FloatOutput * output, st void DynamicLampComponent::add_lamp(std::string name) { if (this->lamp_count_ < 15) { this->active_lamps_[this->lamp_count_].active = true; - memcpy(this->active_lamps_[this->lamp_count_].name, name.c_str(), 16); + strncpy(this->active_lamps_[this->lamp_count_].name, name.c_str(), 16); this->active_lamps_[this->lamp_count_].validation_byte = 'L'; this->active_lamps_[this->lamp_count_].lamp_index = this->lamp_count_; this->active_lamps_[this->lamp_count_].used_outputs[0] = 0;