diff --git a/src/common/type/stringId.c b/src/common/type/stringId.c index b3745a00d..77d01e234 100644 --- a/src/common/type/stringId.c +++ b/src/common/type/stringId.c @@ -383,5 +383,9 @@ strIdToLog(const StringId strId, char *const buffer, const size_t bufferSize) ASSERT(bufferSize > STRID_MAX); (void)bufferSize; + // Treat 0 as if it were null since this can never be a valid StringId + if (strId == 0) + return (size_t)snprintf(buffer, bufferSize, NULL_Z); + return strIdToZ(strId, buffer); } diff --git a/test/src/module/common/typeStringTest.c b/test/src/module/common/typeStringTest.c index 1a85dee16..4c7ca1957 100644 --- a/test/src/module/common/typeStringTest.c +++ b/test/src/module/common/typeStringTest.c @@ -700,6 +700,10 @@ testRun(void) TEST_RESULT_UINT(strIdToLog(TEST_STR5ID2, buffer, sizeof(buffer)), 2, "string id with limited buffer"); TEST_RESULT_UINT(strlen(buffer), 2, " check length"); TEST_RESULT_Z(buffer, "ab", " check buffer"); + + TEST_RESULT_UINT(strIdToLog(0, buffer, sizeof(buffer)), 4, "null string id"); + TEST_RESULT_UINT(strlen(buffer), 4, " check length"); + TEST_RESULT_Z(buffer, "null", " check buffer"); } // *****************************************************************************************************************************