]> granicus.if.org Git - icinga2/commitdiff
Fix incorrect memcpy() with overlapping buffers
authorGunnar Beutner <gunnar@beutner.name>
Mon, 1 Feb 2016 11:58:42 +0000 (12:58 +0100)
committerGunnar Beutner <gunnar@beutner.name>
Mon, 1 Feb 2016 11:58:42 +0000 (12:58 +0100)
refs #11014

lib/base/fifo.cpp

index abe2c4dfdac38cdab55dba9a7e606b32d6b2b8f7..7add8bf68a7a7b68fca2d45a8a76cf8e41489d7b 100644 (file)
@@ -68,7 +68,7 @@ void FIFO::ResizeBuffer(size_t newSize, bool decrease)
 void FIFO::Optimize(void)
 {
        if (m_Offset - m_DataSize > 1024) {
-               std::memcpy(m_Buffer, m_Buffer + m_Offset, m_DataSize);
+               std::memmove(m_Buffer, m_Buffer + m_Offset, m_DataSize);
                m_Offset = 0;
 
                if (m_DataSize > 0)