diff --git a/libraries/MySensors/core/MyMessage.cpp b/libraries/MySensors/core/MyMessage.cpp index d7a11ab..8c9f04f 100644 --- a/libraries/MySensors/core/MyMessage.cpp +++ b/libraries/MySensors/core/MyMessage.cpp @@ -200,10 +200,13 @@ MyMessage& MyMessage::set(void* value, uint8_t length) { } MyMessage& MyMessage::set(const char* value) { - uint8_t length = min(strlen(value), MAX_PAYLOAD); + uint8_t length = value == NULL ? 0 : min(strlen(value), MAX_PAYLOAD); miSetLength(length); miSetPayloadType(P_STRING); - strncpy(data, value, length); + if (length) + strncpy(data, value, length); + else + data[0] ='\0'; return *this; }