diff --git a/tasmota/tasmota_xdrv_driver/xdrv_10_scripter.ino b/tasmota/tasmota_xdrv_driver/xdrv_10_scripter.ino index 98a9c352f..6e8f41d3c 100755 --- a/tasmota/tasmota_xdrv_driver/xdrv_10_scripter.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_10_scripter.ino @@ -9349,8 +9349,10 @@ bool Script_SubCmd(void) { cp += tlen; if (XdrvMailbox.data_len > 0) { *cp++ = '('; - strncpy(cp, XdrvMailbox.data,XdrvMailbox.data_len); - cp += XdrvMailbox.data_len; + uint32_t max_space = sizeof(cmdbuff) - tlen - 4; // 4 = #()0 + uint32_t max_len = min(XdrvMailbox.data_len, max_space); + strncpy(cp, XdrvMailbox.data, max_len); + cp += max_len; *cp++ = ')'; *cp = 0; }