Fix off-by-one in debug assert: size + 1 must also fit in uint16_t

This commit is contained in:
J. Nick Koston
2026-03-27 15:59:01 -10:00
parent f48eff29c3
commit acef5ad5bb
+1 -1
View File
@@ -24,7 +24,7 @@ static const char *const TAG = "helpers";
__attribute__((noinline, cold)) void *callback_manager_grow(void *data, uint16_t size, uint16_t &capacity,
size_t elem_size) {
ESPHOME_DEBUG_ASSERT(size < UINT16_MAX);
ESPHOME_DEBUG_ASSERT(size < UINT16_MAX - 1);
uint16_t new_cap = size + 1;
auto *new_data = ::operator new(new_cap *elem_size);
if (data) {