From 715704313c301685ef7826900311a00d10e96bd2 Mon Sep 17 00:00:00 2001 From: Torsten Sommer Date: Thu, 10 Oct 2024 10:16:09 +0200 Subject: [PATCH] Fix buffer size calculation in FMIAppendArrayToLogMessageBuffer() fixes #607 --- src/FMI.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/FMI.c b/src/FMI.c index 17865c93..465dc09f 100644 --- a/src/FMI.c +++ b/src/FMI.c @@ -310,14 +310,16 @@ void FMIAppendArrayToLogMessageBuffer(FMIInstance* instance, const void* values, continue; } - if (length + sizeof(", ") < instance->logMessageBufferSize - instance->logMessageBufferPosition) { + const size_t requiredCharacters = length + sizeof(", "); + + if (requiredCharacters < instance->logMessageBufferSize - instance->logMessageBufferPosition) { instance->logMessageBufferPosition += length; i++; } else { - while (instance->logMessageBufferSize < instance->logMessageBufferPosition + length) { + while (instance->logMessageBufferSize < instance->logMessageBufferPosition + requiredCharacters) { instance->logMessageBufferSize *= 2; }