From caec8f98e2f67ea81e3e4c9e36fabc4aa35562dc Mon Sep 17 00:00:00 2001 From: Berendea Nicolae Date: Mon, 13 Jun 2016 22:27:30 +0300 Subject: [PATCH] use memmove for overlapping buffers --- modes.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modes.cpp b/modes.cpp index acc8fd6e..df3d4d86 100644 --- a/modes.cpp +++ b/modes.cpp @@ -210,7 +210,7 @@ void CBC_CTS_Encryption::ProcessLastBlock(byte *outString, const byte *inString, if (inString == outString) { length -= BlockSize(); - memcpy(outString, inString+BlockSize(), length); + memmove(outString, inString+BlockSize(), length); memcpy(outString+BlockSize(), m_register, length); } else @@ -278,7 +278,7 @@ void CBC_CTS_Decryption::ProcessLastBlock(byte *outString, const byte *inString, { if (inString == outString) { - memcpy(outString, inString+BlockSize(), length); + memmove(outString, inString+BlockSize(), length); memcpy(outString+BlockSize(), m_temp, length); // decrypt next to last plaintext block memcpy(m_temp, pn1, length);