From 6d97702b2934b7d560e8876b82883550d3b440e8 Mon Sep 17 00:00:00 2001 From: Henrik Ekblad Date: Mon, 30 Nov 2015 00:08:48 +0100 Subject: [PATCH] Fix #272 - NULL argument check in MyMessage::set(char *) --- libraries/MySensors/core/MyMessage.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) 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; }