From 06c619b2e028a25087e4aaa8bc60a5017321dd57 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Wed, 14 Jan 2026 15:48:22 -1000 Subject: [PATCH] [ci] Soft-deprecate str_sprintf/str_snprintf to prevent hidden heap allocations --- esphome/core/helpers.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/esphome/core/helpers.h b/esphome/core/helpers.h index 2e9c0e6b13..50e0a271c7 100644 --- a/esphome/core/helpers.h +++ b/esphome/core/helpers.h @@ -563,9 +563,11 @@ inline uint32_t fnv1_hash_object_id(const char *str, size_t len) { } /// snprintf-like function returning std::string of maximum length \p len (excluding null terminator). +/// @warning Allocates heap memory. Use snprintf() with a stack buffer instead. std::string __attribute__((format(printf, 1, 3))) str_snprintf(const char *fmt, size_t len, ...); /// sprintf-like function returning std::string. +/// @warning Allocates heap memory. Use snprintf() with a stack buffer instead. std::string __attribute__((format(printf, 1, 2))) str_sprintf(const char *fmt, ...); /// Concatenate a name with a separator and suffix using an efficient stack-based approach.