From fc8313f4ba56058fdd952fd0656031cf9dcabaed Mon Sep 17 00:00:00 2001 From: FROeHlyEisvogel <34057964+FROeHlyEisvogel@users.noreply.github.com> Date: Wed, 28 Jul 2021 07:50:03 +0200 Subject: [PATCH] Update VeDirectFrameHandler.cpp Add frameLen checking to avoid crashes --- VeDirectFrameHandler.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/VeDirectFrameHandler.cpp b/VeDirectFrameHandler.cpp index e15d776..de61b12 100644 --- a/VeDirectFrameHandler.cpp +++ b/VeDirectFrameHandler.cpp @@ -153,9 +153,11 @@ void VeDirectFrameHandler::rxData(uint8_t inbyte) * This function is called every time a new name/value is successfully parsed. It writes the values to the temporary buffer. */ void VeDirectFrameHandler::textRxEvent(char * mName, char * mValue) { - strcpy(tempName[frameIndex], mName); // copy name to temporary buffer - strcpy(tempValue[frameIndex], mValue); // copy value to temporary buffer - frameIndex++; + if (frameIndex < frameLen) { + strcpy(tempName[frameIndex], mName); // copy name to temporary buffer + strcpy(tempValue[frameIndex], mValue); // copy value to temporary buffer + frameIndex++; + } } /*