From d1a938d28038adda126b7c7f968a4aebcb4420d2 Mon Sep 17 00:00:00 2001 From: zilmar Date: Mon, 1 Aug 2022 10:00:57 +0930 Subject: [PATCH] ISViewerHandler: Stop copying data at null --- .../N64System/MemoryHandler/ISViewerHandler.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Source/Project64-core/N64System/MemoryHandler/ISViewerHandler.cpp b/Source/Project64-core/N64System/MemoryHandler/ISViewerHandler.cpp index a98505f60..a72b0f5c5 100644 --- a/Source/Project64-core/N64System/MemoryHandler/ISViewerHandler.cpp +++ b/Source/Project64-core/N64System/MemoryHandler/ISViewerHandler.cpp @@ -31,6 +31,11 @@ bool ISViewerHandler::Write32(uint32_t Address, uint32_t Value, uint32_t Mask) { if (m_BufferPos + MaskedValue <= (sizeof(m_Buffer) / sizeof(m_Buffer[0]))) { + size_t DataStrLen = strnlen((const char *)&m_Data[0x20], m_Data.size() - 0x20); + if (DataStrLen < MaskedValue) + { + MaskedValue = DataStrLen; + } memcpy(&m_Buffer[m_BufferPos], (const char *)&m_Data[0x20], MaskedValue); m_BufferPos += MaskedValue; char * NewLine = (char *)memchr((void *)&m_Buffer[0], '\n', m_BufferPos);